定义
- 进制也就是进位计数制,是人为定义的带进位的计数方法。
十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
常用进制类型
- 二进制
- 计算机底层都是使用二进制进行存储以及运算
- 0b****;(以0b或者0B开始,*表示0或1)比如:010101
- 原码、反码、补码
- 原码
- 原码:将一个整数转换成二进制表示
以 int 类型为例,int类型占4个字节、共32位。
例如:
2 的原码为:00000000 00000000 00000000 00000010
-2的原码为:10000000 00000000 00000000 00000010
- 原码:将一个整数转换成二进制表示
- 反码
- 反码
正数的反码:与原码相同
负数的反码:原码的符号位不变,其他位取反
例如,-2 的反码为:11111111 11111111 11111111 11111101
- 反码
- 补码
- 补码
正数的补码:与原码相同
负数的补码:反码+1
例如,-2 的补码为:01111111 11111111 11111111 11111110
- 补码
- 注意事项
- 二进制的最高位是符号位(“0”代表正数,“1”代表负数);
- Java中没有无符号数;
- 计算机以整数的补码进行运算;
- 原码
- 八进制
- 0****;(以数字0开始,*表示0到7任意数字 比如:012345)
- 十进制
- 0~9组成 比如:100
- 十六进制
- 0x****;(以0x或者0X开始,*表示0~9或者a~f组成 比如:0x12c)
进制转换
- 十进制转二进制
方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。- 150十进制转二进制
- 二进制转十进制
方法为:把二进制数按权展开、相加即得十进制数。- 150二进制转十进制