购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

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

一个数从一种进位制表示变成另外一种进位制表示,称为数的进位制转换。实现这种转换的方法是多项式替代法和基数乘除法。下面结合具体例子来讨论这两种方法的应用。

1.2.1 二进制数转换为十进制数

例1.3 】 将二进制数101011.101转换为十进制数。

这里,只要将二进制数用多项式表示法写出,并在十进制中运算,即按十进制的运算规则算出相应的十进制数值即可。

这个例子说明,为了求得某二进制数的十进制表示形式,只要把该二进制数的按权展开式写出,并在十进制系统中计算,所得结果就是该二进制数的十进制形式,即实现了由二进制数到十进制数的转换。

顺便指出,用类似的方法可将八进制数转换为十进制数。

例1.4 】 将八进制数155转换为十进制数。

(155) 8 =(1×8 2 +5×8 1 +5×8 0 10 =(109) 10

上述这种用来实现不同进位制数之间转换的方法,称为“多项式替代”法。

1.2.2 十进制数转换为二进制数

1.十进制整数转换为二进制整数

十进制整数转换为二进制整数的基本方法称为“基数除法”或“除基取余”法。可概括为“除基取余,直至商为0,注意确定高、低位”,如例1.5所示。

例1.5 】 将十进制数935转换为二进制数。

整个演算过程表示如下:

所以,转换结果为:

(935) 10 =( B 9 B 8 B 1 B 0 2 =(1110100111) 2

类似地,采用“除8取余”或“除16取余”的方法,即可将一个十进制整数转换为八进制整数或十六进制整数。

一般地,可以将给定的一个十进制整数转换为任意进制的整数,只要用所要转换的数制的基数去连续除给定的十进制整数,最后将每次得到的余数依次按正确的高、低位顺序列出,即可得到所要转换成的数制的数。

例1.6 】 转换十进制数2803为十六进制数,即(2803) 10 =(?) 16

因此,(2803) 10 =( H 2 H 1 H 0 16 =(AF3) 16

上述这种用以实现不同进位制数之间转换的方法,称为“除基取余法”。可概括为“除基取余,直至商为0,注意确定高、低位”。

2.十进制小数转换为二进制小数

十进制小数转换为二进制小数的基本方法称为“基数乘法”或“乘基取整”法。可概括为“乘基取整,注意确定高、低位及有效位数”,如例1.7所示。

例1.7 】 将十进制小数0.5625转换成二进制小数。

整个演算过程表示如下:

因此,(0.5625) 10 =(0.1001) 2

值得注意的是,在十进制小数转换成二进制小数时,整个计算过程可能无限地进行下去,这时,一般考虑到计算机实际字长的限制,只取有限位数的近似值就可以。

同样,这个方法也可推广到十进制小数转换为任意进制的小数,只需用所要转换成的数制的基数去连续乘给定的十进制小数,每次得到的整数部分即依次为所求数制小数的各位数。不过应注意,最先得到的整数部分应是所求数制小数的最高有效位。

另外,如果一个数既有整数部分又有小数部分,则可用前述的“除基取余”及“乘基取整”的方法分别将整数部分与小数部分进行转换,然后合并起来就可得到所求结果。例如:

所以,(17.25) 10 =(10001.01) 2 L/F5u1QA+sNtr8vTKIOya1wz7YoeNn/dsTI5d7jkP+r0Jndf7zRXXTyaCPSc+K3O

点击中间区域
呼出菜单
上一章
目录
下一章
×