2.2.1 十进制与二进制、八进制、十六进制的换算
十进制整数转二进制整数方法:除以2取余数,逆序排列(除二取余法):
用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
以74为例,步骤如下:
74/2=37……0
37/2=18……1
18/2=9……0
9/2=4……1
4/2=2……0
2/2=1……0
1/2=0……1
则74(十进制)=1001010(二进制)。
同理,十进制整数转八进制数整数的方法与十进制转二进制的方法相似,每次除以8,都会得到一个商和一个余数,直到商小于1时为止,最后把余数逆序排列,即得到八进制数:
以109为例:
109/8=13……5
13/8=1……5
1/8=0……1
则109(十进制)=155(八进制)。
那么将十进制整数转十六进制整数的方法也就与前两个相同了,只不过需要把余数中的10~15转化为A~F,最后把余数逆排序:
以1532为例:
1532/16=95……12——C
95/16=5……15——F
5/16=0……5
先把12和15化为对应的C和F,然后再逆排序,得到1523(十进制)=5FC(十六进制)。
另外,如果计算复杂或者计算能力不强的话,可以利用现有的工具,上网百度搜索转换:
2.2.2 二进制与八进制和十六进制的换算
二进制转换为八进制整数(或者十六进制整数)有两种方法,一种是比较麻烦的,先把二进制转换为我们所熟悉的十进制数,再把十进制数转换为八进制整数(或者十六进制整数)。二进制转换为十进制的方法在2.1.2章节中提到过,没记住的可以翻阅到该章节进行复习。
第二种办法就比较简单了,根据2^3=8可以得知三位二进制整数可以转换为一位八进制整数,转化时从低位(右)到高位(左)计算:
例如:
1001101101010
先把这组数从右到左三位三位分开
1 001 101 101 010
高位凑不满三位数的话用0替补高位(熟练后可以不用)
001 001 101 101 010
分别对这5组三位二进制数进行转换(此时可以不用根据左右顺序来计算,看个人习惯顺序计算):
从左到右转化:
001转化为1
001转化为1
101转化为5
101转化为5
010转化为2
则最后的结果为1001101101010(二进制)=11552(八进制)。
如二进制整数转化为八进制整数的一样,根据2^4=16可以得知四位二进制整数可以转换为一位十六进制的整数:
例:
1001101101010
先把这组数从右到左四位四位分开
1 0011 0110 1010
高位凑不满四位数的话用0替补高位(熟练后可以不用)
0001 0011 0110 1010
分别对这四组二进制数进行转换
从左到右转化:
0001转化为1
0011转化为3
0110转化为6
1010转化为A
则最后的结果为1001101101010(二进制)=136A(十六进制)。
Tip:如果计算能力有限或者不想计算的话,如同前一节一样,也可以利用工具进行查找计算。