一、常见数字表示
二进制 | 八进制 | 十进制 | 十六进制 |
0000 | 0 | 0 | 0 |
0001 | 1 | 1 | 1 |
0010 | 2 | 2 | 2 |
0011 | 3 | 3 | 3 |
0100 | 4 | 4 | 4 |
0101 | 5 | 5 | 5 |
0110 | 6 | 6 | 6 |
0111 | 7 | 7 | 7 |
1000 | 10 | 8 | 8 |
1001 | 11 | 9 | 9 |
1010 | 12 | 10 | A |
1011 | 13 | 11 | B |
1100 | 14 | 12 | C |
1101 | 15 | 13 | D |
1110 | 16 | 14 | E |
1111 | 17 | 15 | F |
二、进制转换
1、十进制转二进制
正数
125(10)
除数 商 余数
125/2 62 1
62/2 31 0
31/2 15 1
15/2 7 1
7/2 3 1
3/2 1 1
1/2 0 1
则125(10) = 1111101(2)
负数
-125(10)
因为:125(10) = 1111101(2) = 01111101(2)(在有符号位中)
所以:-125(10) = 11111101(2) (其中最高位1为标志位,0:表示正数,1:表示负数)
扩展
原码:1010
反码:原码按位取反(0101)
补码:反码加一(0110)
二进制在计算机中的存储为补码的形式:
1、正数的补码就是正数本身; 1010(2)的补码:1010
2、负数的补码为该数的按位取反加一;-1010(2)的补码:1000 1010(源码)-》1111 0101(反码)-》1111 0110(补码)
2、二进制转十进制
1010(2) = 1*2^3 + 0*2^2 + 1* 2^1 + 0* 2^0 = 10(10)
3、八进制与二进制之间的转换
17(8)=001 111(2):八进制的一位变成3位
1111 1010(2) = 011 111 010(2) = 372(8):从右往左三位合成一位
4、十六进制与二进制之间的转换
1A(16) = 0001 1010(2) :十六进制的一位变成3位
1101 1100(2) = DC(16):从右往左四位合一位