(一)二进制转十进制
如:
66 = 64 + 2;
128 64 32 16 8 4 2 1
0 1 0 0 0 0 1 0
负十进制转换为二进制的方式
1)先将该整数的绝对值转换为二进制,然后进行按位取反再加1.
如:
-66
66 => 0100 0010 绝对值转换为二进制
=> 1011 1101 按位取反
=> 1011 1110
负二进制转换为十进制的方式
1)按位取反再加1,转换为十进制整数之后,添加负号。
如:
1011 1110 => 0100 0001 按位取反
=> 0100 0010 再加1
=> 66 转换为十进制整数
=> -66 添加负号
二进制和八进制之间的转换
(二)二进制转换为八进制的方式
1)将每三位二进制转换为一位八进制,在转换结果的最前面增加0表示八进制
如:
010 001 => 021
010二进制转换为十进制是2
001二进制转换为十进制是1
所以八进制前加0就是021
b.八进制转换为二进制的方式
1)将每一位八进制转换为三位二进制,在转换结果的最前面增加0b表二进制 (从jdk1.7开始增加的新特性)
如:
021 => 0b010 001
(三)二进制和十六进制之间的转换
a.二进制转换为十六进制的方式
1)将每四位二进制转换为一位十六进制,在转换结果的最前面增加0x表示十六进制
如:
0010 1101 => 0x2d (在十六进制中使用a ~ f来表示 10 ~ 15之间的数字)
0010二进制转换为十进制是2
1101二进制转换为十进制是13, 十六进制中使用abcdef来表示 10、12、13、14、15之间的数字
b.十六进制转换为二进制的方式
1)将每一位十六进制转换为四位二进制,在转换结果的最前面增加0b表示二进制
如:
0x2d => 0b0010 1101
0b表示二进制
0表示八进制
0x表示十六进制