一、常见进制
十进制
数字组成:0-9这十个数字组成,不能以0开头
进位规则:满10进1
int num1 = 10;//对应的十进制为10
二进制
数字组成:0-1这两个数字组成,以0b或0B开头
进位规则:满2进1
int num2 = 0b1010;//对应的十进制为10
八进制
数字组成:0-7这八个数字组成,以0开头
进位规则:满8进1
int num3 = 012;//对应的十进制为10
十六进制
数字和字母组成:0-9和a-f组成,以0x或0X开头,a-f不分大小写
进位规则:满16进1
int num4 = 0xa;//对应的十进制为10
int num5 = 0x45a;//对应的十进制为1114
二、常见进制之间的转换
三、二进制转十进制
3.1、原码、反码、补码
1、计算机数据的存储使用二进制补码形式存储,并且最高位是符号位(左边第一个数字)
。
- 正数:最高位是
0
,例如: 0 0001表示十进制 1 - 负数:最高位是
1
,例如: 1 0001表示十进制 -1
2、正数的补码与反码、原码一样,称为三码合一
3、负数的补码与反码、原码不一样:
- 负数的原码:把十进制转为二进制,然后
最高位设置为1(左边第一个数字)
- 负数的反码:在
原码的基础上
,最高位不变,其余位取反(0变1,1变0)
- 负数的补码:
反码+1
例子:给定一个数的原码求反码和补码
3.2、正数:二进制转十进制
例如:给定一个二进制00110101
3.3、负数:二进制转十进制
计算机数据的存储方式是使用二进制补码
形式存储的
四、十进制转二进制
五、二进制转八进制
六、二进制转十六进制
七、八进制、十六进制转二进制
附:二进制作为其他进制的转换桥梁
各个进制之间的转换可以先转成2进制再转成其他进制
例如:给定一个十进制10,求其八进制?
解:
1、先将十进制10,转换成二进制
10 —> 1010
2、再将二进制1010转成八进制
12