Java进制
- 进制定义
- Java常用的进制
- 二进制
- 八进制
- 十六进制
进制定义
Java常用的进制
二进制
- 计算机底层都是使用二进制进行存储以及运算
- 0b****;(以0b或者0B开始,*表示0或1)比如:010101
- 原码
将数据以二进制表示,即为自然数的原码,以 int 类型为例,int类型占4个字节、共32位。
2 的原码表示就是:0000 0000 0000 0000 0000 0000 0000 0010
-2的原码表示就是:1000 0000 0000 0000 0000 0000 0000 0010
如上所示:
最高位为符号位:0 表示正数 1表示负数- 反码
正数的反码跟原码一致,负数反码即原码符号位不变,其他按位取反即为反码。
如2的反码就是:0000 0000 0000 0000 0000 0000 0000 0010 (跟原码一致)
-2的反码就是: 1111 1111 1111 1111 1111 1111 1111 1101 (符号位不变,其他按位取反)- 补码
正数的补码跟原码、反码一致,负数的反码由原码+1得到。
如2的补码就是:0000 0000 0000 0000 0000 0000 0000 0010 (跟原码、反码一致)
-2的补码就是: 1111 1111 1111 1111 1111 1111 1111 1110 (反码+1)- 注意事项
1.二进制的最高位是符号位(“0”代表正数,“1”代表负数);
2.Java中没有无符号数;
3.计算机以整数的补码进行运算;
八进制
0****;(以数字0开始,*表示0到7任意数字 比如:012345)
十六进制
0x****;(以0x或者0X开始,*表示09或者af组成 比如:0x12c