1.常用进制
- 二进制
二进制,逢二进一,数字中只有 0 和 1
例如,数数,二进制的数法是:0,1 接着 10,11 接着 100,101,110,111 接着 1000,1001 … 1111 以此类推。
- 十进制
十进制,逢十进一,数字中含有 0,1,2,3,4,5,6,7,8,9
十进制是我们从小就开始学习的,应该没有人不会吧,从1数到100会把,哈哈。
- 十六进制
十六进制,逢十六进一。一般用数字0到9和字母A到F(或a到f)表示,其中A ~ F表示10 ~ 15。
那么数数的数法也同理,从 0 ~ F 接着 10 … 1F … FF 接着 100 … FFF 以此类推。
2.进制间的转换
2.1.二进制与十进制
1.十进制转二进制
十进制转二进制,把要转换的数,整数部分,除以2,得到商和余数,将商继续除以2,直到商为0。最后将所有余数倒序排列,得到转换结果。简记为“除2取余,倒序排列”。 而小数部分则为“乘2取整,正序排列”。如图,以十进制的6.625为例,三次相除得到余数分别为0、1、1,倒序排列为110,三次相乘得到整数为101,所以十进制6.625转换为二进制为110.101。
整数部分:
小数部分:0.6252=1.25 取整数为1
0.252=0.5 取整数为0
0.5*2= 1 取整数为1
2.二进制转十进制
二进制转十进制,从右到左用二进制位上的每个数去乘以2的相应次方,例如,将最右边第一位的数乘以2的0次方,第二位的数乘以2的1次方,第n位的数乘以2的n-1次方,然后把所有乘得的结果相加,得到的结果就是转换后的十进制。以二进制数0110 0100转十进制为例:
得到的100就是二进制0110 0100转换十进制后的结果。
2.2.十六进制与十进制
1.十进制转十六进制
和十进制转二进制比较类似,上面为“除2取余,乘2取整”,现在为“除16取余,乘16取整”,我们拿150来举例。
150/16=9(余数为6)
9/16=0(余数为9)
整合为96,得到十六进制数。
2.十六进制转十进制
我们直接拿个例子来说吧,比如十六进制数96来举例(由右向左依次乘以16的n次幂,n从零开始),最后转为十进制为150。
9 * 16^1 + 6 * 16^0=150
2.3.二进制与十六进制
二进制与十六进制值对应关系表
二进制 | 十六进制 | 二进制 | 十六进制 | 二进制 | 十六进制 | 二进制 | 十六进制 |
---|---|---|---|---|---|---|---|
0000 | 0 | 0100 | 4 | 1000 | 8 | 1100 | C |
0001 | 1 | 0101 | 5 | 1001 | 9 | 1101 | D |
0010 | 2 | 0110 | 6 | 1010 | A | 1110 | E |
0011 | 3 | 0111 | 7 | 1011 | B | 1111 | F |
1.二进制转十六进制
首先将二进制数10100101从右至左每四位分成一段,不足四位的左边补0:1010 0101
然后将每段的数值分别查表替换,结果如下:
1010 —>A
0101 —>5
组合得到结果0xA5或0XA5(注意十六进制必须以0x或0X开头)。
2.十六进制转二进制
先将A5分成两位:A 5;
将每位查表写成二进制数:
A —>1010
5 —>0101
组合得到结果1010 0101。
2.4.小结
1.十进制转二进制、十六进制、n进制
十进制转n进制,把要转换的数,除以n,得到商和余数,将商继续除以n,直到商为0。最后将所有余数倒序排列,得到转换结果。
2.二进制、十六进制、n进制转十进制
n进制转十进制,从右到左用n进制位上的每个数去乘以n的相应次方,例如,将最右边第一位的数乘以n的0次方,第二位的数乘以n的1次方,第n位的数乘以n的n-1次方,然后把所有乘得的结果相加,得到的结果就是转换后的十进制。
3.八进制与十六进制之间转换
八进制与十六进制间转换可以通过先转换成二进制后再转换为相应进制来完成。