大学计算机应用基础
上QQ阅读APP看书,第一时间看更新

1.2.2 数制的转换

二进制是计算机技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现,后来被冯·诺依曼引入到当代计算机信息处理中,当前的计算机系统使用的基本上是二进制系统。采用二进制的优点是:

1.数字装置简单可靠,所用元件少

只有两个数码0和1,因此它的每一位数都可用任何具有两个不同稳定状态的元件来表示。

2.基本运算规则简单,运算操作方便

除此之外,也存在一些缺点,如用二进制表示一个数时,位数多。因此实际使用中多采用送入数字系统前用十进制,送入机器后再转换成二进制数,让数字系统进行运算,运算结束后再将二进制转换为十进制供人们阅读,因而在学习计算机信息基础知识时,要先掌握数制的转换。

1)其他进制转换为十进制

方法是:将其他进制按权位展开,然后各项相加,就得到相应的十进制数。

【例1-1】:N=(10110.101)B=(?)D。

【解】按权展开N=1×24+0×23+1×22+1×21+0×20+1×2-1+0×2-2+1×2-3

=16+4+2+0.5+0.125=(22.625)D

2)十进制转换为其他进制

把要转换的数除以新的进制的基数,把余数作为新进制的最低位;

把上一次得到的商再除以新的进制基数,把余数作为新进制的次低位;

继续上一步,直到最后的商为零,这时的余数就是新进制的最高位(即余数的倒序排列为二进制编码)。

【例1-2】将十进制的37转换成二进制。

【解】将余数从下向上倒序排列,即(37)D=(100101)B。计算过程如下所示:

3)十进制小数转为二进制小数

把要转换数的小数部分乘以新进制的基数,把得到的整数部分作为新进制小数部分的最高位,把上一步得的小数部分再乘以新进制的基数,把整数部分作为新进制小数部分的次高位,继续上一步,直到小数部分变成零为止,或者达到预定的要求也可以。

例如:0.625=(0.101)B,计算过程如下:

在小数转二进制的时候,有可能出现一直无法实现小数部分变成零的情况。一般情况下,根据精度要求,可以在适合的精度位停止计算。

4)二进制与八进制、十六进制的相互转换

二进制转换为八进制、十六进制:它们之间满足23和24的关系,因此把要转换的二进制从低位到高位每3位或4位一组,高位不足时在有效位前面添“0”,然后把每组二进制数转换成八进制或十六进制即可。

八进制、十六进制转换为二进制时,把上面的过程逆过来即可。

【例1-3】N=(C1B)H=(?)B。

【解】(C1B)H=1100/0001/1011=(110000011011)B。

四种进位制之间的对照关系,如表1-1-2所示。

表1-1-2 四种进位制之间的对照关系