进制的表达方式
-
关于进制
- 所有数字在计算机底层都以二进制形式存在
- 对于整数,有四种表达方式:
- 二进制:0,1,满2进1,以0b或0B开头
- 十进制:0-9,满10进1
- 八进制:0-8,满8进1,以数字0开头
- 十六进制:0-9及A-F,满16进1,以0x或0X开头表示。此处的A-F不区分大小写。如:ox21AF +1 =0x21B0
int num1 = 0b110; int num2 = 110; int num3 = 0127; int num4 = 0x110A; System.out.println("num1= "+num1);//6 System.out.println("num2= "+num2);//110 System.out.println("num3= "+num3);//87 System.out.println("num4= "+num4);//4362
十进制 二进制 八进制 十六进制 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 10000 20 10
二进制
- Java整数常量默认是int类型,当用二进制定义整数时,其第32位时符号位;当是long类型时,二进制默认占64位,第64位是符号位
- 二进制的整数有如下三种形式
- 原码:直接将一个数值换成二进制数。最高位是符号位
- 负数的反码:是对原码按位取反,只是最高位(符号位)确定为1
- 负数的补码:其反码+1
- 计算机以二进制补码的形式保存所有的整数。
- 整数的原码,反码,补码都相同
- 负数的补码是其反码+1