总结一下常见的进制,以及分享一下各进制之间的转换方法。
二进制:计算机常用的进制,即逢二进一,借一为二。
基数为0,1
八进制:逢八进一,借一为八。
基数为0,1,2,3,4,5,6,7
十进制:常用进制,逢十进一。
基数为0,1,2,3,4,5,6,7,8,9
十六进制:逢十六进一,借一为十六。
基数为0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)
方法:把二进制数按权值展开、求和,即为十进制数
例:将二进制数110转换为十进制数:
二进制数第一位0与2⁰相乘:0✖2⁰=0
二进制数第二位1与2¹相乘:1✖2¹=2
二进制数第三位1与2²相乘:1✖2²=4
相加求和:0+2+4=6
即二进制数110转换为十进制数的结果为6
方法:将十进制数除以2取余,将得到的商继续除以2取余,直到商等于0为止,得到的余数从下往上读数,得到的即为由十进制转换成二进制数的结果
例:将十进制数53转换为二进制数
53÷2=26·····1
26÷2=13·····0
13÷2=6·······1
6÷2=3·········0
3÷2=1·········1
1÷2=·0········1
我们将得到的结果从下往上书写,得到转换后的二进制数为110101
我们知道八进制数是逢八进一,其基数为0-7,我们采用二进制表示如下:
八进制数 | 二进制数 |
---|---|
0 | 000 |
1 | 001 |
2 | 010 |
3 | 011 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
方法:一个八进制数能用三个二进制数表示,所以我们在二进制与八进制之间的转换采用取三合一法。
例:将二进制数10110011转换为八进制数
首先我们二进制数从右往左读,将3位划分为一组,最左边差位数用0补齐,将每组数的值读出来,按顺序写在一起就得到了所需的八进制数。
即二进制数10110011转换为八进制数为263
注意:此处得到的结果263并不是十进制数263。
方法:将每一位八进制数转换为3位二进制数。
例:将八进制数431转为二进制数:
由上表可知:
4的二进制数为100
3的二进制数为011
1的二进制数为001
将各八进制转换的结果按顺序书写得到的结果为:100011001
十六进制是逢十六进一,其基数为0-9,A-F,对应的二进制数如下表:
十六进制数 | 二进制数 |
---|---|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
9 | 1001 |
A | 1010 |
B | 1011 |
C | 1100 |
D | 1101 |
E | 1110 |
F | 1111 |
方法:与二进制转八进制相似,二进制转十六进制采用取四合一法。
例:二进制数100101100
从右往左读数,四个化为一组,差位用0补齐后,计算每一组的值,将得到的结果按顺序书写。
即二进制数100101100转为十六进制数为12C
方法:将每一位十六进制数转换为4位二进制数
例:将十六进制数BF4转换为二进制:
由上表可知:
B对应的二进制数为1011
F对应的二进制数为1111
4对应的二进制数为0100
所以十六进制数BF4对应的二进制数为101111110100
PS.若是忘记八进制数与十六进制数对于的二进制数为多少,可以先将八进制数、十六进制数转换为十进制数,再由十进制数转为二进制数。
十进制转为二进制将十进制数除以2得到余数,再由商继续除以2得余数,直到商为0,将得到的余数从下往上书写,同理可得到十进制与八进制、十六进制的转换。
方法:十进制转为八进制将十进制数除以8得到余数,再由商继续除以8得余数,直到商为0,在将得到的余数从下往上书写
例:十进制数150转换为八进制数
150÷8=18·····6
18÷8=2········2
2÷8=0··········2
将得到的结果从下往上书写,得到十进制数150对应的八进制数位226
方法:十进制转为十六进制将十进制数除以16得到余数,再由商继续除以16得余数,直到商为0,将得到的余数从下往上书写
例:将十进制数150转换成十六进制数
150÷16=9······6
9÷16=0·········9
将得到的结果按顺序书写,得到十进制数150对应的十六进制数位96
方法:由二进制转十进制可得,八进制转十进制即为将八进制数按权值展开,求和
例:将八进制数135转为十进制数
八进制数第一位5与8⁰相乘:5✖8⁰=5
八进制数第二位3与8¹相乘:3✖8¹=24
八进制数第三位1与8²相乘:1✖8²=64
相加求和:5+24+64=93
即八进制数135转换为十进制数的结果为93
方法:同理可得,十六进制转十进制即为将十六进制数按权值展开,求和
例:将十六进制数A7转为十进制数
八进制数第一位7与16⁰相乘:7✖16⁰=7
八进制数第二位10(A)与8¹相乘:10✖16¹=160
相加求和:7+160=167
即十六进制数A7转换为十进制数的结果为167
八进制与十六进制之间的转换有两种方法
第一种:他们之间的转换可以先转成二进制然后再相互转换。
第二种:他们之间的转换可以先转成十进制然后再相互转换。
参考文献:https://blog.csdn.net/liangxw1/article/details/78535545