第一章习题
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
解:(325)10=(0011 0010 0101)8421=(0011 0010 1000)5421=(0011 0010 1011)2421=(0110 0101 1000)余3
(108)10=(0001 0000 1000)8421=(0001 0000 1011)5421=(0011 0000 1110)2421=(0100 0011 1011)余3
(61.325)10=(0110 0001.0011 0010 0101)8421=(1001 0001.0011 0010 1000)5421=(1100 0001.0011 0010 1011)2421=(1001 0100.0110 0101 1000)余3
1-15 完成下列BCD码运算:
(001110010001)8421BCD+(010*********)8421BCD=?
解:(0011 1001 0001)8421BCD+(0101 1000 0010)8421BCD=(1001 0111 0011)8421BCD 其
中第二位 1001+1000=1 0001,结果大于10。此时要加6,所以结果为1 0111。1-16 写出对应下列二进制数的格雷码
1010,1101
解:利用由B到G的关系式(异或):
B 1010  1101
1011
G 1111
1-17 写出对应下列格雷码的二进制数
1010,1101
解:利用G由到B的关系式(异或):
G 1010  1101
B 1100  1001
1-18 写出“Hello everyone”的ASCII编码,分别用二进制和十六进制。
解:由ASCII表得:48 65 6C 6C 6F 20 65 76 65 72 79 6F 6E 65
1-19  设要用奇偶校验码传送ASCII字符串“BIT”,试分别写出其奇校验码和偶校验码。在这种情况下传输效率降低了多少?
解:B:P100 0010 奇:1100 0010 偶:0100 0010
I: P1001001 奇:0100 1001 偶:1100 1001
T:P1010101  奇:1101 0101 偶:0101 0101
传输效率降低了1/8=12.5%.
1-20 设发送端发送的奇偶校验码为101100110,而在接收端收到的码元序列为①111100110,
②101010110。问本例中采用的是奇校验还是偶校验?接收结果①、②中哪个是对的?
哪个是错的?为什么?
答:因为发端数据是1 0110 0110,有5个1,所以是奇校验;
两个接收数据都是错的:前者可由奇偶特性知道;后者错了两位,奇偶码不能将其检出。
1-21 用二维奇偶纠错码去纠错,有无可能纠正所有的错误?若不能,什么情况下不能?试列出不能纠错的情况并说明原因。
答:不能。如图所示情况就不能纠正。因为出错的行列均有偶数个错。
2-1举出现实生活中的一些相互对立的、处于矛盾状态的事物。试着给这些对立的事物赋
予逻辑“0”和逻辑“1”。
2-2为什么称布尔代数为“开关代数”?
2-3基本逻辑运算有哪些?写出它们的真值表。
答:与、或、非。
2-4什么是逻辑函数?它与普通代数中的函数在概念上有什么异同?
答:由只能取值为“1”、“0”的自变量构成的,各自变量之间由各种逻辑关系组成的逻辑
表达式,被称为逻辑函数。
逻辑函数与普通函数的区别为:逻辑自变量的取值范围和逻辑因变量的值阈均只能是“1”、“0”两值。
2-5如何判定两个逻辑函数的相等?
2-6逻辑函数与逻辑电路的关系是什么?
答:逻辑电路是能完成某一逻辑运算的电子线路,而逻辑函数可以描述该电路的逻辑功能。
2-7什么是逻辑代数公理?逻辑代数公理与逻辑代数基本定律或定理的关系是什么?
2-8用真值表证明表2.3.2中的“0-1律”,“自等律”,“互补律”,“重叠律”和“还原律”。 解:(1) 证明“0-1律” 00=⋅A ,11=+A 。真值表如下:
(2) 证明“自等律” A A =⋅1,A A =+0。真值表如下:
A B    F
0 0 0 0 1 0 1 0 0 1 1    1 与    A B    F 0 0 0 0 1    1 1 0    1 1 1    1
或    A F 0 1
1  非 0 真值表 A  F  = A ·0 0 1 0 0 真值表 A  F  = A +10 1    1 1 真值表 A
F  = A ·1 0
1 0 1 真值表 A  F  = A +00 1 0 1
(3) 证明“互补律” 0=⋅A A ,1=+A A 。真值表如下:
(4) 证明“重叠律” A A A =⋅,A A A =+。真值表如下:
(5) 证明“还原律” A A =。真值表如下:
2-9分别用真值表和逻辑代数基本定律或定理证明下列公式。
1.)C A )(B A (BC A ++=+
证明:右边=A+AB+AC+BC=A+BC=左边
2.B A B A A +=+
证明:左边=AB+AB+AB=AB+AB+AB+AB=A+B=右边
3.A AB A =+
证明:左边=A(1+B)=A=右边

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。