二进制来源于电信号的开关开关,由此组成了以01为基本的二进制数,
八个01构成一个字节及:10010101-1byte
2的1次方,2次方,3次方,4次方分别是2,4,8,16;从这个就可以看出进制数的由来,只是我们一般不用4进制
这个多少次方就是几个二进制数:1,01,001,0001:它们的对应的最大数分别是1,3,7,15所以和各自的进阶也是能对上的
十进制是特殊的:由四个字节构成(int占4个字节)比如6,二进制为110,完整的是0000-0000 0000-0000 0000-0000 0000-0110
十进制转二进制(负数就在正数所得4个字节的二进制结果基础上取反+1):用数字除以2,整除为0,,余数为1,从右往左排得到最后的二进制数
二进制转十进制:
从右往左分别计算出2的0次,1次,2次,3次.....幂,然后乘以对应的二进制数(0,1),最后相加
0000-0000 0000-0000 0000-0000 0 0 0 0- 0 1 1 0
0000-0000 0000-0000 0000-0000 128 64 32 16-8 4 2 1 :0*1+1*2+1*4+0*8...=6
掌握了二进制转十进制这个方法,那么二进制转八进制,十六进制就好算了:
转八进制:以o开头表示8进制
0 0 0 -0 0 1 -1 1 0
4 2 1 -4 2 1 -4 2 1 以三个为一组:o16
转十六进制:以0x开头表示16进制,A-F表示10-15
0 0 0 0 -1 1 1 0
8 4 2 1 8 4 2 1 以四个为一组:0xE
代码中有Integer.getBinaryString(4)来获取二进制数