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

1.2 数制

1.2.1 进位计数制

数制是进位计数制的简称,是指多位数码中每一位的构成以及从低位向高位的进位规则。常用的数制有十进制、二进制、八进制、十六进制。

1.十进制(Decimal)

十进制用0~9十个数码,按一定规律排列起来计数,计数制中所用到的数码的个数称为“基数”,十进制的基数是10,超过9的数则用多位数码表示,由低位向高位的进位规则是“逢十进一”(9+1=10)。

任何一个十进制数都可能由整数和小数两部分组成,并且具有位置计数法和按权展开法两种书写形式。

例如:

如用 k 表示数码,对于一个具有 n 位整数和 m 位小数的十进制数 N 的通式为

对任意 R 进制数( N R 可表示为

N R 表示 R 进制的数 N R 是计数的基数, k i 是第 i 位的系数, R i 称为第 i 位的位权。

十进制数308可以表示为(308) 10 、(308) D 或308(缺省不做任何标记)。

用数字电路来存储或处理十进制数是不方便的,因为构成数字电路的基本思路是把电路的状态与数码对应起来。而十进制的10个数码要求电路有10个完全不同的状态,这会使电路很复杂,因此数字电路不直接处理十进制数。

2.二进制(Binary)

在日常生活中最常用的是十进制,而现代的计算机和数字系统都用到二进制,二进制有0和1两个数码,基数为2,超过2的数用多位数码表示,由低位向高位的进位规则是“逢二进一”(1+1=10),读作“一零”,它并不代表数“十”。位权为2 i ,其按权展开式为

二进制数一般用下标2或B表示,对于二进制数(1011.101) 2 可表示为

(1011.101) 2 =1×2 3 +0×2 2 +1×2 1 +1×2 0 +1×2 -1 +0×2 -2 +1×2 -3

采用二进制计数制,对计算机等数字系统来说,运算、存储和传输极为方便可靠,但二进制数书写冗长、易错、难记,所以一般用十六进制数或八进制数作为二进制数的缩写来进行编写程序或打印。

3.八进制(Octal)

八进制是以8为基数的计数体制,有0~7八个不同数码,它的进位规则是“逢八进一”(7+1=10)。各位权值为8 i ,其按权展开式为

八进制数一般用下标8或O表示,如(324) 8 、(324) O 等。对于八进制数(207.04) 8 可表示为

(207.04) 8 =2×8 2 +0×8 1 +7×8 0 +0×8 -1 +4×8 -2

4.十六进制(Hexadecimal)

十六进制是以16为基数的计数体制,有0、1、2、3、4、5、6、7、8、9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)十六个不同数码,它的进位规则是“逢十六进一”(F+1=10)。各位权值为16 i ,其按权展开式为

十六进制数一般用下标16或H表示,如(B2C) 16 、(B2C) H 等。对于十六进制数(D8.A) 16 可表示为

(D8.A) 16 =13×16 1 +8×16 0 +10×16 -1

为便于记忆和理解,表1-2对十进制、二进制、八进制和十六进制进行了对照和比较。

表1-2 十进制、二进制、八进制和十六进制对照表

1.2.2 进位计数制之间的转换

1.非十进制数转换为十进制数

按权展开求和:先将非十进制数的每一位系数与对应的位权相乘,再将所得乘积累加起来就可以得到该数的十进制数。

例1-1 】分别将(110.11) 2 、(316.04) 8 、(E5.C) 16 转换成十进制数。

:将每一位进制数码乘以位权,然后相加,可得

(110.11) 2 =1×2 2 +1×2 1 +0×2 0 +1×2 -1 +1×2 -2 =(6.75) 10

(316.04) 8 =3×8 2 +1×8 1 +6×8 0 +0×8 -1 +4×8 -2 =(206.0625) 10

(E5.C) 16 =14×16 1 +5×16 0 +12×16 -1 =(229.75) 10

2.十进制数转换为非十进制数

把一个带有整数和小数的十进制数转换为非十进制数时,是将整数部分和小数部分分别进行转换,然后将结果合并起来。

1)整数转换——除基取余法:除基取余,逆序排列。

2)小数转换——乘基取整法:乘基取整,顺序排列。

例1-2 】将十进制数44.375转换成二进制数。

:如图1-5所示。

图1-5 例1-2图解

(44.375) 10 =(101100.011) 2

整数部分采用基数连除法,先得到的余数为低位,后得到的余数为高位。小数部分采用基数连乘法,先得到的整数为高位,后得到的整数为低位。

说明:小数部分过程一直做下去,直到余下的纯小数为0或满足所要求的精度为止。

采用基数连除、连乘法,可将十进制数转换为任意的非十进制数。

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

由于二进制数与八进制数和十六进制数之间正好满足8=2 3 和16=2 4 的关系,所以它们之间的相互转换是很方便的。

方法:以小数点为界,分别向左右两个方向,将二进制数按每3位(或4位)一组进行分组(不足位数的补0),然后写出每一组等值的八进制数或十六进制数。

例1-3 】将(11100101.001) 2 转换为八进制数和十六进制数。

:(11100101.001) 2 =(011 100 101.001) 2 =(345.1) 8

=(1110 0101.0010) 2 =(E5.2) 16

结果:(11100101.001) 2 =(345.1) 8 =(E5.2) 16

八进制数或十六进制数转换成二进制数是上述的逆过程,只需将每位八进制数或十六进制数用二进制数写出来,但整数部分高位的0和小数部分低位的0不用写出。

例1-4 】将八进制数(147.2) 8 转换为二进制数。

:(147.2) 8 =(001 100 111.010) 2 =(1 100 111.01) 2

例1-5 】将十六进制数4FB.CA转换成二进制数。

:(4FB.CA) 16 =(0100 1111 1011.1100 1010) 2 =(100 1111 1011.1100 101) 2

当要求将八进制数与十六进制数相互转换时,以二进制数作为中间桥梁来完成。

例1-6 】将(5A3.21) 16 转换为八进制数。

:(5A3.21) 16 =(0101 1010 0011.0010 0001) 2

=(010 110 100 011.001 000 010) 2

=(2643.102) 8

几种常用数制之间的转换关系见表1-3。

表1-3 几种常用数制之间的转换关系对照表

思考与练习

1.2-1 基数和位权分别表示数制的什么内容?

1.2-2 同一个数用不同进制表示时有什么不同?

1.2-3 为什么要使用二进制数制?

1.2-4 常用的数制有几种? SFh+wANDW6Eh38xWYvKQjHst851BFwxCPMFETfjuO/WmR53oskG4cvJtlAEPkF6u

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