9.2.1 不同计数制及相互的转换
1.数制
数制也称进制,是指用一组固定的符号和统一的规则表示数值的方法。按进位的方法进行计数,称为进位计数制,简称“进制”。
计算机采用二进制,人习惯采用十进制,为了人和计算机交互方便还引入了八进制和十六进制,这样避免直接使用二进制(数字位数过多)容易出错。
对于任何无符号任何进制数(an…a1a0a-1…a-m)r可以表示成如下形式:
an×rn+…+a1×r1+a0×r0+a-1×r-1+…+a-m×r-m其中,ai表示各数位上的数码,取值范围为0~r-1,r称为基数,rk称为权。
(1)十进制数具有的特点
①有十个不同的数码符号0~9,基数为10。
②每一个数码符号根据它在一个数中所处的位置(权),按“逢十进一”原则决定其实际代表的数值。
(2)二进制数具有的特点
①有两个不同的数码符号0和1,基数为2。
②每个数码符号根据它在一个数中的位置(权),按“逢二进一”原则决定其实际代表的数值。
(3)八进制数具有的特点
①有八个不同的数码符号0~7,基数为8。
②每个数码符号根据它在一个数中的位置(权),按“逢八进一”原则决定其实际代表的数值。
(4)十六进制数具有的特点
①有16个不同的数码符号0~9和A、B、C、D、E、F;(由于数字只有0~9十个,而十六进制要用16个数码,所以用A~F六个英文字母分别表示10~15),基数为16。
②每个数码符号根据它在一个数中的位置(权),按“逢十六进一”原则决定其实际的数据。
几种常用进位计数制数如表9.2-1所示。
表9.2-1 几种常用进位计数制数
2.数制之间的转换
(1)十进制数转换成二进制数
整数部分除2取余,小数部分乘2取整。
【例9.2-1】将十进制数29.625转换成二进制数,结果是( )。
(A)11100.101 (B)11101.101 (C)11110.101 (D)11101.11
答案:(B)。
解释:
(29.625)10=(11101.101)2
(2)二进制数转换成十进制数
将各位上的数字与它的位权相乘的积相加。例
(1101.11)2=(1×23+1×22+0×21+1×20+1×2-1+1×2-2)10=(13.75)10
(3)八进制数和二进制数相互转换
八进制数转换二进制数,以小数点为界,向左或向右的每一位八进制数用三位二进制数取代,不足三位补零;二进制数转换成八进制数,以小数点为界,向左或向右的每三位二进制数用相应的一位八进制数取代。
【例9.2-2】将(714.431)8转换成二进制数,结果是( )。
(A)111001100.100011001 (B)111001100.10001101
(C)111001100.100011011 (D)111001100.10001111
答案:(A)。
解释:
即(714.431)8=(111001100.100011001)2。
【例9.2-3】将(11101110.00101011)2转换成八进制数结果是( )。
(A)356.123 (B)356.126 (C)353.126 (D)353.123
答案:(B)。
解释:
即(11101110.00101011)2=(356.126)8。
(4)十六进制与二进制数的相互转换
十六进制数转换成二进制数,以小数点为界,向左或向右的每一位十六进制数用相应的四位二进制数取代,不足四位补零;二进制数转换成十六进制数,以小数点为界,向左或向右的每四位二进制数用相应的一位十六进制数取代。
【例9.2-4】将(1AC0.6D)16转换成二进制数,结果是( )。
(A)1101011000000.0110101 (B)1101011000000.01101111
(C)1101011000000.0110111 (D)1101011000000.01101101
答案:(D)。
解释:
即(1AC0.6D)16=(1101011000000.01101101)2。
【例9.2-5】将(10111100101.00011001101)2转换为十六进制数,结果是( )。
(A)5E5.19A (B)5E5.195 (C)5D5.19A (D)5D5.195
答案:(A)。
解释:
即(10111100101.00011001101)2=(5E5.19A)16
八进制和十六进制的基数分别是2的整数次幂,因此,八进制和十六进制数可以非常方便和二进制数互相转换,且八进制和十六进制数阅读和书写简单。实际上,计算机采用二进制,人习惯采用十进制,而八进制和十六进制是人们为了避免直接使用二进制容易出错采用的。当需要把十进制数转换成八进制和十六进制数时,可借助二进制数。归纳转换方法如图9.2-1所示。
【例9.2-6】下列各数值中最大的是( )。
(A)(327)8 (B)(214)10 (C)(11010101)2 (D)(D8)16
图9.2-1 数值转换方法归纳
答案:(D)。
解释:都化成二进制。(A)(327)8=11010111,(B)(214)10=11010110,(D)(D8)16= 11011000。
比较4个二进制数即可。
3.二进制数操作的优点及运算方法
1)二进制数操作的优点
①技术上容易实现。
②运算规则简单。
③方便逻辑运算。
④机器可靠性高。
⑤通用性强。
2)二进制数运算方法
(1)二进制数的算术运算
二进制数的算术运算与十进制数的算术运算一样,也有加、减、乘、除四则运算,只是运算规则更简单。
①二进制数加法的运算规则为:
0+0=0,0+1=1,1+0=1,1+1=10
【例9.2-7】计算1001+11=?和1011.01+1.101=?
解
②二进制数减法的运算规则为:
0-0=0,1-0=1,1-1=0,10-1=1
【例9.2-8】计算1101-111=?和1011.101-10.11=?
解
③二进制数乘法的运算规则为:
0×0=0,0×1=0,1×0=0,1×1=1
【例9.2-9】计算110×101=?和1101.1×10.1=?
解
④二进制数除法的运算规则为:
0÷1=0,1÷1=1
【例9.2-10】计算110010÷101=?和1101.11÷101.1=?
解
(2)二进制数的逻辑运算
二进制逻辑运算有“与”、“或”、“非”、“异或”。
①“与”运算(AND)的运算符用“·”表示。运算规则为:
0·0=0,0·1=0,1·0=0,1·1=1
【例9.2-11】计算11011001·11110000=?
解
②“或”运算(OR)的运算符用“+”表示。运算规则为:
0+0=0,0+1=1,1+0=1,1+1=1
【例9.2-12】计算11011001+00001111=?
解
③“非”运算(NOT)的运算符用“—”表示。运算规则为:
④“异或”运算(XOR)的运算符用“+”表示。运算规则为:
0+0=0,0+1=1,1+0=1,1+1=0
【例9.2-14】计算11011000+10111000=?
解
注意:逻辑运算,只是本位数的运算,没有进位和借位的问题,不影响高位和低位。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。