《数字电路-分析与设计》第一章习题及解答 北京理工大学出版社

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章习题

1-1 例1.2.12中转换前后两个数的绝对值哪个大?为什么?

答:转换前大。因为转换后舍去了后边的小数位。

1-2 将下列二进制数分别转换为八进制数、十六进制数和十进制数。

11001101.101,10010011.1111

解:(11001101.101)2 =(11 001 101.101)2= ( 315.5)8

=(1100 1101.1010)2 =( CD.A)16

=(128+64+8+4+1+0.5+0.125)10=(205.625)10

(10010011.1111)2 =(1001 0011.1111)2= (93.F)16

=(10 010 011.111 100)2 =( 223.74)8

=(128+16+2+1+0.5+0.25+0.125+0.0625)10=(147.9375)10

1-3 将下列十进制数转换为二进制、八进制和十六进制数。

121.56,73.85

解:1. 0Å1Å3Å7Å15Å30Å60Å121 0.56Æ0.12Æ0.24Æ0.48Æ0.96Æ0.92

1 1 1 1 0 0 1 1 0 0 0 1

所以:(121.56)10=(1111001.10001)2=(171.42)8=(79.88)16

2. 0Å1Å2Å4Å9Å18Å36Å73 0.85Æ0.7Æ0.4Æ0.8Æ0.6Æ0.2Æ0.4

1 0 0 1 0 0 1 1 1 0 1 1 0

(73.85)10=(1001001.11011)2=(111.66)8=(49.D8)16

1-4 将下列十六进制数转换为二进制、八进制和十进制数。

89.0F,E5.CD

解:(89.0F)16=(10001001.00001111)2=(211.036)8=(8*16+9+15/256)10=(137. 0.05859375)10 1-5 试求例1.2.17的转换误差,比较例1.2.12的转换误差,哪个大?为什么?

答:例1.2.12的误差大。例1.2.17实际上转换了15位二进制小数,而例1.2.12只转换了5位。

1-6 用十六位二进数表示符号数。试分别写出原码、反码和补码可表示的数值范围。

解:原码 –(215-1) ~ +(215-1);

反码 –(215-1) ~ +(215-1);

补码 –215 ~ +(215-1)

1-7 设n=8,求下列二进制数的反码:

101101,-101101,10100,-10100

解:先补齐8位,再求反;正数的反码是原码,负数的反码需求反。

(101101)反=00101101

(-101101)反=11010010

(10100)反=00010100

(-101101)反=11101011

1-8 设n=8,求下列二进制数的补码:

101101,-101101,10100,-10100,101.001,-101.001

解:先补齐8位,再求补;正数的补码是原码,负数的补码需求补。

(101101)补=00101101

(-101101)补=11010011

(10100)补=00010100

(-101101)补=11101100

(101.001)补=00000101.001

(-101101)补=11111010.111

1-9 为什么将N求反加1即为N的补码?

答:(N)补=2n-N=(2n-1-N)+1

2n-1为n位全1。(2n-1-N)为N的反码。再加1即得补码。得证。

1-10 试证明利用补码进行加减运算的正确性。

证明:设有两个n位正数N1、N2,则-N1、-N2的补码分别为2n-N1和2n-N2。在n位加法器中进行加减运算时共有如下四种情况:

①N1+N2 就是两个正数相加,结果为正数;

②N1-N2=N1+(2n-N2)= 2n-(N2- N1),结果取决于N2-N1的符号:如果N2>N1,

则结果为负数,2n-(N2- N1)就是-(N2- N1)的补码;如果N2< N1,则结果为2n+(N1-N2),由于N1-N2>0,而2n为第n-1位的进位,位于第n位(n位运算器的最位位为第n-1

位)上,在n位运算器之外,所以结果为N1-N2,是正数;

③N2-N1,结果与N1-N2类似;

④-N1-N2=(2n-N1)+(2n-N2)=2n+[2n -(N1+N2)],其中第1个2n为第n-1

位的进位,位于在第n位上,在n位运算器之外,舍去不管;而[2n-(N1+N2)]就是

负数-(N1+N2)的补码。

由此就证明了用补码进行加减运算的正确性。

1-11 设A=65,B=56,n=8。试用补码求下列运算,并验证其结果是否正确:A+B,A-B,-A+B,-A-B

解:(A)补=01000001 (-A)补=10111111 (B)补=00111000 (-B)补=11001000

A+B A-B -A+B -A-B

10111111

01000001 01000001 10111111

+ 00111000 + 11001000 + 00111000 + 11001000

01111001 100001001 11110111 110000111 所以:A+B=01111001,A-B=00001001,-A+B=11110111,-A-B=10000111 A+B=121 A-B=9 -A+B=-9 -A-B=-121

结果正确。

1-12设A=65,B=75,n=8。试用补码求下列运算,并验证其结果是否正确:A+B,A-B,-A+B,-A-B

如果结果有错,为什么?

解:(A)补=01000001 (-A)补=10111111 (B)补=01001011 (-B)补=10110101

A+B A-B -A+B -A-B

10111111

01000001 01000001 10111111

+ 01001011 + 10110101 + 01001011 + 10110101

10001100 11110110 100001010 101110100 所以:A+B=10001100,A-B=11110110,-A+B=00001010,-A-B=01110100 A+B=-116 A-B=-10 -A+B=+10 -A-B=+116 结果错正确正确错

原因:65+75=140,超出了8位运算器所能表示的范围。

1-13 如何判断补码运算有无溢出?

答:当第n-1位(符号位)和第n-2位(最高数字位)不同时无进位(两正数相加)或不同时有进位(两负数相加)时,有溢出错误发生。可用异或门进行检测。

1-14 试分别写出下列十进制数的8421、5421、2421和余三码。

325,108,61.325

相关文档
最新文档