从零学java笔录-第6篇 进制之间转换
凯哥Java 凯哥java 本讲主要内容:
1:进制理解
2:进制之间转换
3:负数的进制
正文
进制之间的转换:
二进制、八进制、十进制、十六进制之间的转换
1.理解十进制表示数的方式:
下面是以十进制进行讲解
其他进制也类似。
练习1:
分别使用二进制、八进制、十进制、十六进制计算1011用十进制表示的实际值
练习:(说明:1*2(0) 表示的十1乘以2的0次方)
分别使用二进制、八进制、十进制、十六进制计算1011用十进制表示的实际值。
二进制:
1011 = 12(0)+12(1)+02(2)+12(3)
= 1+2+0+8 = 11
所有1011使用二进制表示就是11
八进制:
1011 = 18(0)+18(1)+08(2)+18(3)
= 1+8+0+512
=521
所以1011使用八进制表示的十进制实际值是521
十进制:
1011 = 一千零一十一
十六进制:
1011 = 116(0)+116(1)+016(2)+116(3)
= 1+16+0+4096
=4113
所以1011使用十六进制表示的十进制实际值就是4113
练习2:
1010110分别用二进制、八进制、十六进制、十进制表示
8个二进制表示一个字节。所以我们就以8位进行分割一次(不够8位用0补)。同理我们知道八进制是3位表示一个字节。所以我们3位分割一次(不够前面用0补)。
1010110二进制表示:
原数值:0 1 0 1 0 1 1 0
二进制:1010110
八进制每三位断开。不够用0补
001 010 110
1 2 6
八进制:0126
十六进制每四位断开
0101 0110
5 6
十六进制:0x56
说明:
练习3:
练习4:
十进制的6准换成二进制:
小技巧:
任何数,先转换成二进制然后在用二进制和八进制、十六进制之间准换即可。
负数的二进制
整数在内存中占用4个字节。也就是32位二进制
如:整数6在内存中表示:
负数:二进制表示:
其实就是其正数的二进制取反,然后在加一。
理解:
取反:就是0变1,1变0 然后在+1
所有-6使用二进制表示
规律总结:凡是负数最高位是1.
延伸:
十位的11+6 在内存中表示:
下节预告:
从下节开始我们将学习变量。