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

1.2 课后习题详解

1.1 为了将600份文件顺序编码,如果采用二进制代码,最少需要用几位?如果改用八进制或十六进制代码,则最少各需要用几位?

解: 若用二进制代码,由2 n ≥600可得,n至少为10,即最少需要用10位二进制代码;

若用八进制代码,则最少需要用4位;

若用十六进制代码,则最少需要用3位。

1.2 将下列二进制整数转换为等值的十进制数。

(1)(01101) 2 ;(2)(10100) 2 ;(3)(10010111) 2 ;(4)(1101101) 2

解: (1)(01101) 2 =0×2 4 +1×2 3 +1×2 2 +0×2 1 +1×2 0 =13

(2)(10100) 2 =1×2 4 +0×2 3 +1×2 2 +0×2 1 +0×2 0 =20

(3)(10010111) 2 =1×2 7 +0×2 6 +0×2 5 +1×2 4 +0×2 3 +1×2 2 +1×2 1 +1×2 0 =151

(4)(1101101) 2 =1×2 6 +1×2 5 +0×2 4 +1×2 3 +1×2 2 +0×2 1 +1×2 0 =109

1.3 将下列二进制小数转换为等值的十进制数。

(1)(0.1001) 2 ;(2)(0.0111) 2 ;(3)(0.101101) 2 ;(4)(0.001111) 2

解: (1)(0.1001) 2 =1×2 1 +0×2 2 +0×2 3 +1×2 4 =0.5625

(2)(0.0111) 2 =0×2 1 +1×2 2 +1×2 3 +1×2 4 =0.4375

(3)(0.101101) 2 =1×2 1 +0×2 2 +1×2 3 +1×2 4 +0×2 5 +1×2 6 =0.703125

(4)(0.001111) 2 =0×2 1 +0×2 2 +1×2 3 +1×2 4 +1×2 5 +1×2 6 =0.234375

1.4 将下列二进制数转换为等值的十进制数。

(1)(101.011) 2 ;(2)(110.101) 2 ;(3)(1111.1111) 2 ;(4)(1001.0101) 2

解: (1)(101.011) 2 =1×2 2 +0×2 1 +1×2 0 +0×2 1 +1×2 2 +1×2 3 =5.375

(2)(110.101) 2 =1×2 2 +1×2 1 +0×2 0 +1×2 1 +0×2 2 +1×2 3 =6.625

(3)(1111.1111) 2 =1×2 3 +1×2 2 +1×2 1 +1×2 0 +1×2 1 +1×2 2 +1×2 3 +1×2 4 =15.9375

(4)(1001.0101) 2 =1×2 3 +0×2 2 +0×2 1 +1×2 0 +0×2 1 +1×2 2 +0×2 3 +1×2 4 =9.3125

1.5 将下列二进制数转换为等值的八进制数和十六进制数。

(1)(1110.0111) 2 ;(2)(1001.1101) 2 ;(3)(0110.1001) 2 ;(4)(101100.110011) 2

解: (1)(1110.0111) 2 =(001 110.011 100) 2 =(16.34) 8 ;(1110.0111) 2 =(E.7) 16

(2)(1001.1101) 2 =(001 001.110 100) 2 =(11.64) 8 ;(1001.1101) 2 =(9.D) 16

(3)(0110.1001) 2 =(110.100 100) 2 =(6.44) 8 ;(0110.1001) 2 =(6.9) 16

(4)(101100.110011) 2 =(101 100.110 011) 2 =(54.63) 8

(101100.110011) 2 =(0010 1100.1100 1100) 2 =(2C.CC) 16

1.6 将下列十六进制数转换为等值的二进制数。

(1)(8C) 16 ;(2)(3D.BE) 16 ;(3)(8F.FF) 16 ;(4)(10.00) 16

解: (1)(8C) 16 =(1000 1100) 2

(2)(3D.BE) 16 =(00111101.1011 1110) 2

(3)(8F.FF) 16 =(10001111.1111 1111) 2

(4)(10.00) 16 =(00010000.0000 0000) 2

1.7 将下列十进制数转换为等值的二进制数和十六进制数。

(1)(17) 10 ;(2)(127) 10 ;(3)(79) 10 ;(4)(255) 10

解: (1)将十进制(17) 10 转换为二进制数,过程如下:

则(17) 10 =(10001) 2

将二进制数转换为十六进制数:(10001) 2 =(00010001) 2 =(11) 16

(2)将十进制(127) 10 转换为二进制数,过程如下:

则(127) 10 =(1111111) 2

将二进制数转换为十六进制数:(1111111) 2 =(01111111) 2 =(7F) 16

(3)将十进制(79) 10 转换为二进制数,过程如下:

则(79) 10 =(1001111) 2

将二进制数转换为十六进制数:(1001111) 2 =(01001111) 2 =(4F) 16

(4)将十进制(255) 10 转换为二进制数,过程如下:

则(255) 10 =(11111111) 2

将二进制数转换为十六进制数:(11111111) 2 =(11111111) 2 =(FF) 16

1.8 将下列十进制数转换为等值的二进制数和十六进制数。要求二进制数保留小数点以后8位有效数字。

(1)(0.519) 10 ;(2)(0.251) 10 ;(3)(0.0376) 10 ;(4)(0.5128) 10

解: (1)将十进制(0.519) 10 转换为二进制数,过程如下:

则(0.519) 10 =(0.10000100) 2

将二进制数转换为十六进制数:(0.10000100) 2 =(0.10000100) 2 =(0.84) 16

(2)将十进制(0.251) 10 转换为二进制数,过程如下:

则(0.251) 10 =(0.01000000) 2

将二进制数转换为十六进制数:(0.01000000) 2 =(0.01000000) 2 =(0.40) 16

(3)将十进制(0.0376) 10 转换为二进制数,过程如下:

则(0.0376) 10 =(0.00001001) 2

将二进制数转换为十六进制数:(0.00001001) 2 =(0.00001001) 2 =(0.09) 16

(4)将十进制(0.5128) 10 转换为二进制数,过程如下:

则(0.5128) 10 =(0.10000011) 2

将二进制数转换为十六进制数:(0.10000011) 2 =(0.10000011) 2 =(0.83) 16

1.9 将下列十进制数转换为等值的二进制数和十六进制数。要求二进制数保留小数点以后4位有效数字。

(1)(25.7) 10 ;(2)(188.875) 10 ;(3)(107.39) 10 ;(4)(174.06) 10

解: (1)将十进制(25.7) 10 转换为二进制数(小数部分和整数部分分别转换),过程如下:

则(25.7) 10 =(11001.1011) 2

将二进制数转换为十六进制数:(11001.1011) 2 =(00011001.1011) 2 =(19.B) 16

(2)将十进制(188.875) 10 转换为二进制数(小数部分和整数部分分别转换),过程如下:

则(188.875) 10 =(10111100.1110) 2

将二进制数转换为十六进制数:(10111100.1110) 2 =(10111100.1110) 2 =(BC.E) 16

(3)将十进制(107.39) 10 转换为二进制数(小数部分和整数部分分别转换),过程如下:

则(107.39) 10 =(1101011.0110) 2

将二进制数转换为十六进制数:(1101011.0110) 2 =(01101011.0110) 2 =(6B.6) 16

(4)将十进制(174.06) 10 转换为二进制数(小数部分和整数部分分别转换),过程如下:

则(174.06) 10 =(10101110.0000) 2

将二进制数转换为十六进制数:(10101110.0000) 2 =(10101110.0000) 2 =(AE.0) 16

1.10 写出下列二进制数的原码、反码和补码。

(1)(+1011) 2 ;(2)(+00110) 2 ;(3)(-1101) 2 ;(4)(-00101) 2

解: 如表1-2-1所示。

表1-2-1

1.11 写出下列带符号位二进制数(最高位为符号位)的反码和补码。

(1)(011011) 2 ;(2)(001010) 2 ;(3)(111011) 2 ;(4)(101010) 2

解: 如表1-2-2所示。

表1-2-2

1.12 用8位的二进制补码表示下列十进制数。

(1)+17;(2)+28;(3)-13;(4)-47;(5)-89;(6)-121。

解: 正数的补码与其原码相同,负数的补码等于相应正数的原码取反加1。

(1)(17) 10 =(10001) 2

+17的原码为00010001,补码为00010001。

(2)(28) 10 =(11100) 2

+28的原码为00011100,补码为00011100。

(3)(13) 10 =(1101) 2

-13的原码为10001101,补码为11110011。

(4)(47) 10 =(101111) 2

-47的原码为10101111,补码为11010001。

(5)(89) 10 =(1011001) 2

-89的原码为11011001,补码为10100111。

(6)(121) 10 =(1111001) 2

-121的原码为11111001,补码为10000111。

1.13 计算下列用补码表示的二进制数的代数和。如果和为负数,请求出负数的绝对值。

(1)01001101+00100110;(2)00011101+01001100;(3)00110010+10000011;(4)00011110+10011100;(5)11011101+01001011;(6)10011101+01100110;(7)11100111+11011011;(8)11111001+10001000。

解: 如求出和为负数,则求此负数的补码,可得结果的原码,去掉符号位,即得该负数的绝对值。

(1)

和为正数。

(2)

和为正数。

(3)

和为负数,其绝对值为:1001011。

(4)

和为负数,其绝对值为:1000110。

(5)

和为正数。

(6)

和为正数。

(7)

和为负数,其绝对值为:0111110。

(8)

和为负数,其绝对值为:1111111。

1.14 用二进制补码运算计算下列各式。式中的4位二进制数是不带符号位的绝对值。如果和为负数,请求出负数的绝对值。(提示:所用补码的有效位数应足够表示代数和的最大绝对值。)

(1)1010+0011;(2)1101+1011;(3)1010-0011:(4)1101-1011;

(5)0011-1010;(6)1011-1101;(7)-0011-1010;(8)-1101-1011。

解: 将每个表达式,写成(A)+(B)的形式,然后用补码分别表示(A)和(B),最后将补码相加求和。如求出和为负数,则求此负数的补码,可得结果的原码,去掉符号位,即得该负数的绝对值。

若和的绝对值 ,则需用n+1位表示每个加数的补码。

(1)1010+0011=(+1010)+(+0011)

和为正数。

(2)1101+1011=(+1101)+(+1011)

和为正数。

(3)1010-0011=(+1010)+(-0011)

和为正数。

(4)1101-1011=(+1101)+(-1011)

和为正数。

(5)0011-1010=(+0011)+(-1010)

和为负数,其绝对值为:0111。

(6)1011-1101=(+1011)+(-1101)

和为负数,其绝对值为:0010。

(7)-0011-1010=(-0011)+(-1010)

和为负数,其绝对值为:1101。

(8)-1101-1011=(-1101)+(-1011)

和为负数,其绝对值为:101000。

1.15 用二进制补码运算计算下列各式。(提示:所用补码的有效位数应足够表示代数和的最大绝对值。)

(1)3+15;(2)8+11;(3)12-7;(4)23-11;

(5)9-12;(6)20-25;(7)-12-5;(8)-16-14。

解: 将每个表达式,写成(A)+(B)的形式,然后用补码分别表示(A)和(B),最后将补码相加求和。

如求出和为负数,则求此负数的补码,可得结果的原码,去掉符号位,即得该负数的绝对值。

若和的绝对值 ,则需用n+1位表示每个加数的补码。

(1)3+15=(+3)+(+15)

和为正数,代表十进制数18。

(2)8+11=(+8)+(+11)

和为正数,代表十进制数19。

(3)12-7=(+12)+(-7)

和为正数,代表十进制数5。

(4)23-11=(+23)+(-11)

和为正数,代表十进制数12。

(5)9-12=(+9)+(-12)

和为负数,代表十进制数-3。

(6)20-25=(+20)+(-25)

和为负数,代表十进制数-5。

(7)-12-5=(-12)+(-5)

和为负数,代表十进制数-17。

(8)-16-14=(-16)+(-14)

和为负数,代表十进制数-30。 1vmqt8Wj0yPHcJbbM7sF6kkzfuj9j9mXjHHwgSwZl2AUbgvYLjQn6Z26j6VpraPg

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