1、最少用几位二进制数即可表示任一5位长的十进制正整数? 解: 最大的5位正整数是 99999 由于21699999217 故最少要用17位二进制数,1,2,习题2,写出下列各数的原码、反码、补码表示(用8位二进制数)。其中MSB是最高位(又是符号位),LSB是最低位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。 (1)-35/64 (2)23/128 (3)-127 (4)用小数表示-1 (5)用整数表示-1,3,(1)-35/64,解:,4,(2)23/128,解:,5,(3)-127,解:,6,(4)用小数表示-1,解:,7,(5)用整数表示-1,解:,8,2、设x补=a
2、0.a1a2a6,其中ai取0或1,若要x-0.5,求a0,a1,a2, a6的取值。,解:,思考题1:,已知x=0.a1a2a3a4a5a6(ai为0或1),讨论下列几种情况时ai各取何值。(1)x1/2 (2)x1/8 (3)1/4 x1/16 设x为整数,x补=1, x1x2x3x4x5,若要求 x-16,试问x1x5应取何值。 设机器数字长为8位(含1位符号位在内),分整数和小数两种情况讨论真值x为何值时,x补=x原成立。 设x为真值,x*为绝对值,说明-x*补=-x补能否成立。,9,10,3. 有一个字长为32位的浮点数,符号为1位,阶码8位,用移码表示;尾数23位,用补码表示;基数
3、为2。请写出: (1)最大数的二进制表示, (2)最小数的二进制表示, (3)规格化数所能表示的数的范围, (4)最接近于零的正规格化数与负规格化数。 解:,11,4、将下列十进制数表示成IEEE754标准的32位浮点规格化数,(1)27/64解: x=11011*2-110=1.1011*2-2 S=0 M=1011 E=-2+127=125 浮点规格化表示: 0 011 1110 1101 1000 0000 0000 0000 0000=(3ED80000)16(2)-27/64 解: x=-11011*2-110=-1.1011*2-2 S=1 M=1011 E=-2+127=125
4、浮点规格化表示: 1 011 1110 1101 1000 0000 0000 0000 0000=(BED80000)16,12,4、将下列十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。,(1)27/64 解: x=11011*2-110=0.11011*2-1 浮点规格化表示:0 11011000 111=(6C7)16(2)-27/64 解: x=-11011*2-110=-0.11011*2-1 浮点规格化表示:1 00101000 111=(847)16,13,(1)x=0.11011 y=0.00011 解: x变补=00.11011 y变补=00.000
5、11 x+y变补=00.11110 由于两个符号位相同,所以未发生溢出。,5、已知x和y,用变形补码计算x+y,同时指出结果是否溢出。,14,(2)x=0.11011 y= -0.10101 解: x变补=00.11011 y变补=11.01011 x+y变补=00.00110 由于两个符号位相同,所以未发生溢出。,15,(1)x=0.11011 y= -0.11111 解: x变补=00.11011 y变补=11.00001 -y变补=00.11111 x-y变补= x变补+-y变补= 01.11010 由于两个符号位不相同,所以结果溢出。,6、已知x和y,用变形补码计算x - y,同时指出
6、结果是否溢出。,16,(2)x=0.10111 y= 0.11011 解: x变补=00.10111 y变补=00.11011 -y变补=11.00101 x-y变补= x变补+-y变补= 11.11100 由于两个符号位相同,所以未发生溢出。,17,7、用原码阵列乘法器、补码阵列乘法器分别计算xy,(1)x=0.11011 y=-0.11111 解:用原码阵列乘法器 Sx=0 |Mx|原=0.11011 Sy=1 |My|原=0.11111 S=SxSy=01=1 M= |Mx | |My|=0.1101000101 xy原=1. 1101000101,18,7、用原码阵列乘法器、补码阵列乘
7、法器分别计算xy,(1)x=0.11011 y=-0.11111 解:用补码阵列乘法器 x补=(0).11011 y补=(1).00001 xy真=0.(1)(1)(0)(1)(1)11011 =-0.11011+0.0000011011 =-0.1101000101,19,8、用原码阵列除法器计算xy,(1) x=0.11000 y=-0.11111 解:|x|原=0.11000 |x|补=00.11000 00000 |y|原=0.11111|y|补=00.11111 -|y|补=11.00001 |x |y|=0.11000余数为-0.00000 00110S=SxSy=01=1,0 0
8、. 1 1 0 0 0 +1 1. 0 0 0 0 1,1 1. 1 1 0 0 1 r00 商”0”1 1. 1 0 0 1 0 r02 +0 0. 1 1 1 1 1 加除数,0 0. 1 0 0 0 1 r10 商”1”0 1. 0 0 0 1 0 r12 +1 1. 0 0 0 0 1 减除数,0 0. 0 0 0 1 1 r20 商”1”0 0. 0 0 1 1 0 r22 +1 1. 0 0 0 0 1 减除数,1 1. 0 0 1 1 1 r30 商”0”1 0. 0 1 1 1 0 r32 +0 0. 1 1 1 1 1 加除数,1 1. 0 1 1 0 1 r40 商”0”1
9、 0. 1 1 0 1 0 r42 +0 0. 1 1 1 1 1 加除数,1 1. 1 1 0 0 1 r50 商”0”,20,8、用原码阵列除法器计算xy,(1) x=0.11000 y=-0.11111 解: |x|原=0.11000 |x|补=0.11000 00000 |y|原=0.11111|y|补=0.11111 -|y|补=1.00001 |x |y|=0.11000余数为-0.00000 00110S=SxSy=01=1,0. 1 1 0 0 0 0 0 0 0 0 + 1. 0 0 0 0 1,1. 1 1 0 0 1 0 r00 商”0.” + 0. 0 1 1 1 1
10、1 加除数2-1,0. 0 1 0 0 0 1 0 r10 商”1” + 1. 1 1 0 0 0 0 1 减除数2-2,0. 0 0 0 0 0 1 1 0 r20 商”1” + 1. 1 1 1 0 0 0 0 1 减除数2-3,1. 1 1 1 0 0 1 1 1 0 r30 商”0” + 0. 0 0 0 0 1 1 1 1 1 加除数2-4,1. 1 1 1 1 0 1 1 0 1 0 r40 商”0”0. 0 0 0 0 0 1 1 1 1 1 加除数2-5,1. 1 1 1 1 1 1 1 0 0 1 r50 商”0”,21,11、某加法器进位链小组信号为C4C3C2C1,低位来
11、的进位信号为C0,请分别按下述两种方式写出C4C3C2C1的逻辑表达式:,(1)串行进位方式 C1=A1B1+(A1B1)C0=G1+P1C0 C2=A2B2+(A2B2)C1=G2+P2C1 C3=A3B3+(A3B3)C2=G3+P3C2 C4=A4B4+(A4B4)C3=G4+P4C3 (2)并行进位方式 C1=G1+P1C0 C2=G2+P2C1=G2+P2G1+P2P1C0 C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0 C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0,22,12、某机字长16位,使用四片74181组成
12、ALU,设最低为序号标注为第0位,要求:,(1) 写出第5位的进位信号C6的逻辑表达式。 C5 =y4+x4 C4 C6 = y5+x5 C5 =y5+x5y4+x5x4 C4 (2)估算产生C6所需的最长时间 (3)估算最长求和时间 参考习题题解P.25第5题,23,填空题,若X=-0.X1X2Xn,则X原= ,-X补= 。浮点数加减运算时,如果两数的阶码不等,则将阶码 的浮点数之尾数向 移位,每移一位,阶码 ,直到两浮点数的价码相等为止,此过程称为 。,24,填空题,已知,X=01010101,Y=10101011,则X+Y X后,X= ,Y= ,CF(进位标志)= ; ZF(零标志)=
13、; OF(溢出标志)= 。浮点数加减运算主要有 、 、 和 等几个步骤。,25,选择题,采用变形补码是为了便于( )。 A.将补码化为原码 B.对阶 C.判溢 D.将补码化为反码,26,选择题,变补操作的含义是( )。 A.将一个数的原码变成补码 B.将一个数的反码变成补码 C.将一个数的真值变成补码 D.已知一个数的补码,求它的相反数的补码,27,选择题,下面的说法中哪一个是正确的? A.当CF和SF都为1时,OF必为1 B.当CF为0,OF必为0 C.当CF为1,OF必为1 以上说法都不对 注:OF是溢出标志,CF是进位标志,SF是符号位。,28,选择题,如果保持浮点机器数的字长不变,将阶码增加一位而尾数减少一位后: A.对浮点数的精度没有影响 B.能表示的数的范围增大,而精度下降 C.对能表示的数的范围没有影响 D.能表示的数的范围减少,而精度增加,