首页 理论教育 几种常见数制及转换

几种常见数制及转换

时间:2022-02-12 理论教育 版权反馈
【摘要】:数制是人类表示数值大小的方法的统称。进位计数制是人类按照进位方式实现计数的制度,简称计数制。十进制数转换为八、十六进制数也可以用除基取余法,乘基取整法,但通常较为方便的做法是先将十进制数转换成二进制数,再将转换后的二进制数转换为八、十六进制数。

数制是人类表示数值大小的方法的统称。进位计数制是人类按照进位方式实现计数的制度,简称计数制。生活中常用的计数制有:十进制、二进制、八进制、十六进制、十二进制、二十四进制、六十进制等。例如,购买物品时买一打则采用的是十二进制,时钟中的秒计时则采用的是六十进制等。

数的表示法一般采用位置计数法。在一个数中,数码和数码所在的位置决定了该数的大小。任何进位计数制都包含有两个重要的概念:基数和位权。不同进位制之间的区别,本质上就是基数和位权的取值不同。所谓基数,就是该进位制中可能用到的数码个数;所谓位权,就是在某一进位制的数中,每一位的大小都对应着该位上的数码乘上一个固定的数,这个固定的数就是这一位的权数,简称位权。

1. 几种常见的数制

1)十进制(Decimal Numbers)

十进制数是由0,1,…,9十个数码组成,“逢十进一”。

例如,十进制数(232.6)10可写成:

(232.6)10 =2×102+3×101+2×100+6×10−1

其中,十进制数中允许使用的数码是十个,故基数为10;位权是102,101,100,10−1等。十进制数的个位的权值为1,十位的权值为10,百位的权值为100,小数点后第一位的权值为0.1,依次类推,任何一个十进制数都可表示为:

式中,di为各位数的数码,10i为各位数的权值。

2)二进制(Binary Numbers)

二进制数是由0、1两个数码组成,“逢二进一”。

例如,二进制数(1101.01)2可写成:

其中,二进制数中允许使用的数码的个数是0和1两个,故基数为2;位权是23,22,21,20, 2−1,2−2等。因此,任何一个二进制数都可表示为:

式中,bi为各位数的数码,2i为各位数的权值。

3)八进制(Octal Numbers)

八进制数是由0,1,…,7八个数码组成,“逢八进一”。

例如,八进制数(137.6)8可写成:

其中,八进制数中允许使用的数码的个数是八个,故基数为8;位权是82,81,80,8−1等。因此,任何一个八进制数都可表示为:

式中,qi为各位数的数码,8i为各位数的权值。

4)十六进制(Hexadecimal Numbers)

十六进制数是由0,1,…,9,A,B,C,D,E,F十六个数码组成,数码A~F分别代表十进制的10~15,“逢十六进一”。

例如,十六进制数(C13.B)16可写成:

其中,十六进制数中允许使用的数码的个数是十六个,故基数为16;位权是162,161,160, 16−1等。因此,任何一个十六进制数都可表示为:

式中,hi为各位数的数码,16i为各位数的权值。

5)不同进制数的符号表示

由于可以采用不同的进位制表示一个数,因此在表示一个数时,除了表示出数本身外,还要用下标或尾符来表示出其属于何种进位制的数。一般情况下,我们用D、B、H分别表示十、二、十六进制,例如:

二进制数10101我们可以用(10101)2或10101B表示;

十进制数354我们可以用(354)10或354D表示;

十六进制数1BC7我们可以用(1BC7)16或1BC7H表示。

2. 数制转换

数字电路中我们通常采用的是二进制,有时为了表示方便也会用到八进制、十六进制,而人们用得最多、最为习惯的是十进制,所以我们要讨论一下这些常见的进制之间的转换。

1)任意进制数转换为十进制数

把任意进制数转换为十进制数,通常采用“按权展开法”,按照各种进制的权值展开式求和即可。

【例5 − 2 − 1】将二进制数11001.11转换为十进制数。

解:(11001.11)2=1×24+1×23+0×22+0×21+1×20+1×2−1+1×2−2 =(25.75)10

2)十进制数转换为二进制数

十进制数转换为二进制数时,需要将整数部分和小数部分分别转换。

整数部分转换:十进制数转换为二进制数,对于其整数部分,通常采用的方法是“除基取余法”。即用十进制数除以二进制的基数2,第一次除所得的余数作为被转换的二进制数的最低位,把所得的商再除以基数 2,其余数作为被转换的二进制数的次低位,依此类推,直至商为0为止,商为0时所得余数作为被转换的二进制数的最高位。

【例5 − 2 − 2】将十进制数25转换为二进制数。

解:

所以(25)10=(11001)2

小数部分转换:十进制数转换为二进制数,对于其小数部分,通常采用的方法是“乘基取整法”。即用小数乘以二进制的基数2,第一次乘所得结果的整数部分作为被转换的二进制数小数部分的最高位,把乘得结果的小数部分再乘以基数 2,其所得结果的整数部分作为被转换的二进制数的次高位,依此类推,直至小数部分为0或达到所需精度为止。

【例5 − 2 − 3】将十进制数0.375转换为二进制数。

解:

3)二进制数转换为八、十六进制数

二进制数转换为八、十六进制数之间的转换非常简单,只要将二进制数的整数部分自右向左每三位(八进制)或四位(十六进制)分成一组,不足三位或四位时左边用0补足;二进制数的小数部分自左向右每三位(八进制)或四位(十六进制)分成一组,不足三位或四位时右边用0补足;再将三位(八进制)或四位(十六进制)所对应的八进制或十六进制数码写出即可。

【例5 − 2 − 4】将二进制数 (10010011.01011011)2转换为八、十六进制数。

4)八、十六进制数转换为二进制数

八、十六进制数转换为二进制数,只要将八进制或十六进制的每一位数码转换成三位(八进制)或四位(十六进制)的二进制数码即可。

【例5 − 2 − 5】将八进制数(36.73)8转换为二进制数。

解:(36.73)8=2

【例5 − 2 − 6】将十六进制数(36.73)16转换为二进制数。

解:(36.73)16=(0011 0110.0111 0011)2

5)十进制数转换为八、十六进制数

十进制数转换为八、十六进制数也可以用除基取余法,乘基取整法,但通常较为方便的做法是先将十进制数转换成二进制数,再将转换后的二进制数转换为八、十六进制数。

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

我要反馈