1、什么是进制:如何理解进制,生活中常见的进制有:7进制(周),24进制(小时),60进制(秒,分)等。
2、二进制:
计算机中的数据是采用二级制方式存储的。二进制数据遵循“逢二进一”的原则,采用0和1两个数码表示数据。一个字节8个码,如1用二进制表示为:00000001。
3、二进制的原码,反码,补码
(1)计算机中的数据是以补码的方式存储的。
(2)二进制最高位为符号位。符号位1表示负数,0表示正数。
所以8位二进制的取值范围为:[1111 1111 , 0111 1111]。
(3)正数的原反补是一样的,都是其自身。
(4)原码:符号位加上真值的绝对值. 比如如果是8位二进制:
(5)反码:正数的反码是其自身;负数的反码是将二进制原码除了符号位之外的码按位取反。
(6)补码:正数的补码是其自身;负数的补码是将反码加一。
例1:
5的原码为:0000 0101
5的反码为:0000 0101
5的补码为:0000 0101
-5的原码为:1000 0101
-5的反码为:1111 1010
-5的补码为:1111 1100
例2:
已知一个二进制为1110 1010,推算其十进制是多少?
一般没有特殊说明,二进制默认为补码。
那么补码-1获得反码:1110 1001
反码取反获得原码:1001 0110
由此推算出1110 1010 的十进制为-22。
4、Java中提供的进制转换方法:
进制转换主要涉及二进制,八进制,十进制和十六进制之间的相互转换。