007 java中不同进制之间的转换
1.所有数字在计算机中都以二进制存在
二进制到十进制的转换
二进制最高位叫符号位,符号位为1表示负数,符号位为0表示正数
如何表示一个二进制数的反码和补码?
对于正数:三码合一,反码和补码都等于原码
对于负数
反码:将原码除符号位,其他位取反
补码:将反码加1
计算机中都是以补码的方式来存储的
可以从补码来反推原码:-69
十进制转换为二进制:除2取余的逆。就像用辗转相除法求最大公倍数/最小公约数一样
比如13对于2,商6余1,再变成6除以2商3余0,写下来101100000,然后再反着读就是这个数的二进制000001101
各个进制之间如何转换呢?
可以通过二进制,然后再互相转
二进制转换为八进制:从右至左,每三位一算
二进制转换为十六进制:从右至左,每四位一算
其他进制转换为二进制====
八进制转换为二进制,每个数拆成三位二进制的形式再拼到一起
十六进制转换为二进制,每个数拆成四位二进制的形式再拼到一起
Java中,转化为几进制对应的有不同的方法
将i转换为二进制:toBinaryString(int i)
十六进制:toHexString(int i)
八进制:toQctalString(int i)
本文来自博客园,作者:Jaoany,转载请注明原文链接:https://www.cnblogs.com/fanglijiao/p/15160466.html