Java中的进制为二进制。二进制的声明以0b开始,后面带有0和1。八进制以0开始,最大数为7。十六进制的数以0x开始。
声明十进制的15,用二进制、八进制、十进制和十六进制表示,具体如下:
· int a1 = 0b1111;
· int a2 = 017;
· int a3 = 15;
· int a4 = 0xf;
将任意一个十进制数转成对应的进制,就是取余的过程,如将38转成二进制,如图4-4所示。
图4-4
经过上面的运算结果,将余数从下向上串联,则38的二进制为100110(前面的若干0省略)。其他进制的运算类似,将不再赘述。
值得说明的是,计算一个负数的二进制,先计算出它的正数的二进制反码,然后算补码,补码就是在最后添加1。例如,38的二进制为100110,则-38的二进制为~38+1。
计算过程如表4-1所示。
表4-1 一个负数的二进制计算过程