1.表示方法
(1)二进制(binary):0,1 ;满2进1(以0b或0B开头)
- Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位。
- 所有数字在计算机底层都是以二进制的形式存储的,且所有的数值,不管正负,底层都以补码的方式存储。
- 二进制的整数有如下三种形式:
①原码:直接将一个数值换成二进制数,最高位是符号位(正数三码合一)。
②负数的反码:对原码按位取反,只是最高位(符号位)确定为1。
③负数的补码:其反码加1。
(2)八进制(decimal):0-7 满8进1(以数字0开头)
(3)十进制(octal):0-9 满10进1(以数字0开头)
(4)十六进制(hex):0-9及A-F 满16进1(以0x或0X开头)
十进制 | 八进制 | 十六进制 | 二进制 |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 01 |
2 | 2 | 2 | 10 |
3 | 3 | 3 | 11 |
4 | 4 | 4 | 100 |
5 | 5 | 5 | 101 |
6 | 6 | 6 | 110 |
7 | 7 | 7 | 111 |
8 | 10 | 8 | 1000 |
9 | 11 | 9 | 1001 |
10 | 12 | A | 1010 |
11 | 13 | B | 1011 |
12 | 14 | C | 1100 |
13 | 15 | D | 1101 |
14 | 16 | E | 1110 |
15 | 17 | F | 1111 |
16 | 20 | 10 | 10000 |
17 | 21 | 11 | 10001 |
2.进制之间的转换
(1)二进制和十进制之间的转换
①二进制转十进制:
②十进制转二进制:
(2)二进制和八进制之间的转换
①二进制转八进制
②八进制转二进制
(3)二进制和十六进制之间的转换
①二进制转十六进制
②十六进制转二进制