首页 理论教育 不同进位计数制之间的转换

不同进位计数制之间的转换

时间:2022-02-28 理论教育 版权反馈
【摘要】:三位二进制数向高位逢八进一,所以二进制数与八进制数之间的关系是:三位二进制数对应一位八进制数,反之亦然。将二进制数转换成八进制数时,以小数点为起始点,分别向左、右两边三位划为一组,不足三位者补零,再按每位八进制数与二进制数之间的关系写出每组对应的八进制数,即得该数的八进制表示形式。将八进制或十六进制数转换成二进制形式,只要将每位八进制或十六进制数用所对应的三位或四位二进制数表示即可。

1.2.3 不同进位计数制之间的转换

数制间转换是指一个数从一种数制的表示形式转换成等值的另一种数制的表示形式。数制转换的方法大致有多项式替代法和基数乘除法。

1.二进制数、八进制数、十六进制数转换成十进制数

非十进制数转换成十进制数可采用多项式替代法:各位数字与基数幂之和的展开。

二进制转成十进制数。

【例1-2】 (101011.011)2=1×25+0×24+1×23+0×22+1×21+1×20+0×2-1

+1×2-2+1×2-3=(43.375)10

即:101011.011B=43.375D

八进制转成十进制数。

【例1-3】 (436.7)8=4×82+3×81+6×80+7×8-1=256+24+6+0.875=(286.875)10

即:436.7O=286.875D

十六进制转成十进制数。

【例1-4】 (A3.C)16=10×161+3×160+12×16-1=160+3+0.75=(163.75)10

即:A3.CH=163.75D

2.十进制数转换成二进制数

十进制整数转换成二进制整数。

十进制整数转换成二进制整数采用除基数(二进制的基数为2)法。

某一十进制整数(A)10总可以表示成一个二进制形式的整数(anan-1…a0)2,将它按2的幂展开有:

(A)10=(anan-1…a0)2=an×2n+an-1×2n-1+…+a0×20(其中ai为0或1)

把十进制整数转换成二进制形式就是求系数an,an-1,…,a0的过程。等式两边同除2,

(A)10/2=an×2n-1+an-1×2n-2+…+a0×2-1

若除得尽,余数=0,表示a0=0;否则a0=1。求出最低位a0后,对整商继续除2,余数求出a1……直至求出二进制整数的最高位非零数字an。

【例1-5】 (215)10=?

img3

img4

得:(215)10=(11010111)2

十进制整数换成二进制整数的方法就是“除2取余法”。注意,最先得到的数字是最低位的系数,最后得到的是最高位的系数。

十进制小数转换成二进制小数。

十进制小数转换成二进制小数采用乘基数法。

某一十进制小数(B)10总可以表示成一个二进制小数形式(0.b1b2b3…bm-1bm)2,将它按2的幂展开有:

(B)10=(0.b1b2b3…bm-1bm)2

=b1×2-1+b2×2-2+b3×2-3+…+bm-1×2-(m-1)+bm×2-m

等式的两边同乘2得:

(B)10×2=b1×20+b2×2-1+b3×2-2+…+bm-1×2-m+2+bm×2-m+1

整数部分即为b1,(B)10×2后的小数部分再乘2取整可得b2……采用“乘2取整法”即将十进制的小数转换成二进制小数。

【例1-6】 (0.653)10=?

0.653

img5

若取精度保留小数点后5位,对小数点后的第6位进行“0舍1入”,则有

(0.653)10=(0.10101)2

若某一十进制数既有整数部分,又有小数部分,将其转换成二进制数只要将整数部分与小数部分分别转换,用小数点连接起来即可。例如:

(215.653)10=(11010111.10101)2

3.二进制数与八进制、十六进制数之间的转换

三位二进制所能描述的八种状态,正好用来表示八进制中的8个不同的字符。三位二进制数向高位逢八进一,所以二进制数与八进制数之间的关系是:三位二进制数对应一位八进制数,反之亦然。将二进制数转换成八进制数时,以小数点为起始点,分别向左、右两边三位划为一组,不足三位者补零,再按每位八进制数与二进制数之间的关系写出每组对应的八进制数,即得该数的八进制表示形式。

【例1-7】 将(11111101.01001111)2转换成八进制形式。

(011 111 101.010 011 110)2=(375.236)8

二进制与十六进制之间的关系是:四位二进制数对应一位十六进制数。二进制形式数转换成十六进制形式数,只需按每组四位划分即可。

【例1-8】 将(101111101.010011101)2转换成十六进制形式。

(0001 0111 1101.0100 1110 1000)2=(17D.4E8)16

将八进制或十六进制数转换成二进制形式,只要将每位八进制或十六进制数用所对应的三位或四位二进制数表示即可。

【例1-9】 将(65.721)8转换成二进制形式。

(65.721)8=(110101.111010001)2

【例1-10】 将(D5.75A)16转换成二进制形式。

(D5.75A)16=(11010101.011101011010)2

二进制数、八进制数和十六进制数之间关系见表1-2。

表1-2 二进制与八进制、十六进制之间的关系

img6

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈