资源描述
精选优质文档-倾情为你奉上第三章3.1十进制数化成地进制数和八进制数(无法精确表示时,二进制数取3位小数,八进制取1位小数)。73/4,3/64,73.5,725.9375,25.34解:(1)、(7+3/4):(7)10=(111)2(3/4)10=(0.00)2 (7+3/4)10=(111.11)=(7.6)8(2)、(3/64)10=(0.)2=(0.03)8(3)、(73)10=64+8+1=(),(0.5)10=(0.1)2(73.5)10=(.1)2=(111.4)8(4)、(725)10=512+128+64+16+4+1=()2=(1325)8(0.9375)10=(0.1111)2=(0.74)8(725.9375)10=(.1111)2=(1325.74)8(5)、(25)10=(11001)2=(31)8(0.34)10=(0.011)2=(0.3)8(25.34)10=(11001.011)2=(31.3)83.2 把下列各数化成十进制数:(101.10011)2,(22.2)8,(AD.4)16,解:(1)(101.10011)220-4-5=(5.59375)10=(5+19/32)10(2)(123.123)4=42+2*41+3+4-1+2*4-2+3*4-3=(27.)10 =(27+27/64)10=(1+1/4)*(4+2*4+3)=27*(1/64+1)(3) (22.2)8=2*81+2+2*8-1=(10.25)10=(10+1/4)10(4)(AD.4) 16=10*16+13+4*16-1=(173.25)10=(173+1/4)10(5) (300.3)8=3*82+3*8-1=(192.375)10=(192+3/8)103.3 完成下列二进制运算:101.111+11.011,1001.10-110.01,101.11*11.01,11013.4写出下列各地进制数的原码、补码和反码:0.1010,0,-0,-0.1010,0.1111,-0.0100答: x x原 x补 x反 0.1010 0.1010 0.1010 0.1010 0 0.0000 0.0000 0.0000 -0 1.0000 0.0000 1.1111 -0.1010 1.1010 1.0110 1.0101 0.1111 0.1111 0.1111 0.1111 -0.0100 1.0100 1.1100 1.10113.5 已知X原为下述各值,求X补:0.10100,1.10111,1.10110答:x原 0.10100 1.10111 1.10110x补 0.10100 1.01001 1.010103.6 已知X补为下述各值,求X(真值):0.1110,1.1100,0.0001,1.1111,1.0001答:x补 0.1110 1.1100 0.0001 1.1111 1.0001x 0.1110 -0.0100 0.0001 -0.0001 -0.11113.7已知X0.1011,Y= -0.0101,试求:X补,-X补,Y补,-Y补,X/2补,X/4补,2X补,Y/2补,Y/4补,2Y补,-2Y补答:x补=0.1011; -x补=1.0101; y补=1.1011; -y补=0.0101;x/2补=0.0101(1); x/4补=0.0010(11); 2x补=1.0110(溢出);y/2补=1.1101(1); y/4补=1.1110(11); 2y补=1.0110; -2y补=0.10103.8 设十进制数X(128.75)210(1) 若(Y)2(X)10,用定点数表示Y值。(2) 设用21个二进制位表示浮点数,阶码用5位,其中阶符用1位,尾数用16位,其中符号用1位。阶码底为2。写出阶码和尾数均用原码表示的Y的机器数。(3) 写出阶码和尾数均用反码表示Y的机器数。(4) 写出阶码和尾数均用补码表示Y的机器数。解:128.75*2-10(1)(128.75)10=(.11)2(128.75*2-10=(0.1)2Y=0.1(2)设ES,E,MS,M各占1,4,1,15位.则原码:M=0000,MS=0,E=0010,ES=1,Y的机器数(原码)为(3)反码:(4)补码:3.9 设机器字长16位。定点表示时,数值15位,符号位1位;浮点表示时,阶码6位,其中阶符1位;尾数10位,其中,数符1位;阶码底为2,试求:(1) 定点原码整数表示时,最大正数,最小负数各是多少? (2) 定点原码小数表示时,最大正数,最小负数各是多少?(3) 浮点原码表示时,最大浮点数和最小浮点数各是多少?绝对值最小的呢(非0)?估算表示的十进制值的有郊数字位数。解:字长16,定点;符号1,尾数15;浮点:阶5,阶浮1,数浮1,数9(1) 定点原码整数,最大正数011=2151,最小负数111=(2151)(绝对值最小为1)(2) 定点原码小数,最大正数0.11=1215,最小负数1.11=(1215)(3) 浮点且均用原码(不一定规格化)最大浮点数231*(129)= 2151*(129)= 231222最小浮点数231*(129)=231+222绝对值最小浮点数231*29=240 有效数字位数(十进制): 29=106,E=9lg2=9*0.3010,约为33.10 设机器字长16位,阶码7位,其中阶符1位;尾数9位,其中数符1位(阶码底为2),若阶和尾数均用补码表示,说明在尾数规格化和不规格化两种情况下,它所能表示的最大正数、非零最小正数,绝对值最小的负数各是哪几个数?写出机器数,并给出十进制值(不采用隐藏位)。若阶码用移码,尾数仍用补码,上述各值有变化吗?若有变化,请列出。解:设不用隐藏位.阶6(阶浮1),补码: 规格化 非规格化最大正数 (128)*263 同左最小正数 21*264 28*264=272绝对值最大负数 1*263=263 同左绝对值最小负数 (21+ 28)* 264 - 28 *264 =-272若用移码,上述各值无变化.但是,考虑到下溢处理,当阶为-64,就认为是下溢,也把尾数置成全0,化为机器零不能表示阶为-64的那些数.因此最小正数和绝对值最小负数变为: 规格化 非规格化最小正数 2-63 2-72 绝对值最小负数 (21 +28 )* 263 2713.11 按下列要求设计一个尽可能短的浮点数格式(阶的底取2);(1) 数值范围为1.01038(2) 有效数字为十进制七位(3) 0的机器数为全0解:1038约227阶取8位,含一个符号位。10-7约220* 24 =224尾数取24位,另加一个符号(数符)阶码采用移码,才能使0全为机器数。浮点数格式为尾数数浮阶 码 0 7 8 9 323.12 写出下列各数的移码,答:分别为1,;0,;0,;1,3.13 用压缩十进制数串表示法表示下列十进制数:66,78,254,396,1980,1992答:数字 +66 78 +254 396 +1980 1992前分隔串 2B3636 2D3739 2B 2D 2B 2D后嵌入串 3636 3728 压缩十进制串 066C 078D 254C 396D 01980C 01992D3.14 已知X和Y ,求出8421码和余三码的X 补,Y 补,Y 补。(1) X=15,Y=8 (2) X=24, Y=16.解:先按二进制整数补码的概念求出各数的补数,再按8421码和余3码的特点求出各补码。补数:XYY(1)015008992(2)024984016(3)925021979(4)962949051补码:(为简化起见,符号位用0表示正号,1表示负号)8421码余3码(1)X0,0001,0101 0,0100,1000Y 0,0000,1000 0,0011,1011Y 1,1001,0010 1,1100,0101(2) X 0,0010,0100 0,0101,0111Y 1,1000,0100 1,1011,0111Y 0,0001,0110 0,0100,1001 (3)X 1,0010,0101 1,0101,1000Y 0,0010,0001 0,0101,0100Y 1,0111,1001 1,1010,1100 (4)X 1,0110,0010 1,1001,0101Y 1,0100,1001 1,0111,1100Y0,0101,00010,1000,01003.15 用补码运算计算下列各组数的和。(1) X=0.11001 Y=10111 (2) X=0.10010 Y=0.110003.16 用补码运算计算下列各组数的差。(1)X=0.01111 Y=0.00101 (2) X=0.11011 Y=0.100103.17 已知下述X移,Y移,用移码运算求X+Y移和XY移。注意指出溢出情况。(1)X移= Y移=(2)X移= Y移=X+Y移用X移Y补实现。采用双符号位。移码高位符号位用了参与运算。若运算结果高位符号位变为1,为溢出10表示上溢,11表示下溢。下面给出的解中,都用补码运算实现X+Y补和XY补以进行验证。(1)X移Y移=解:Y补X+Y移00X+Y补000000 01 01 X+Y移1Y补1 XY移00 X+Y补=00 00 +00 00 01 (2) X移=1 Y移=0 解:Y补1 X+Y移01 X+Y补00 11 +11 00 Y补=0 XY移01 XY补=00 00 +00 10 01 结果上溢正溢出3.18用原码一位乘计算X=0.1101,Y=0.1011的积X*Y解:流程流程图见图。运算如下:X原=0.1101,Y 原=1.1011,XY 原的符号为1.考虑Y=0.1011, X=0.1101,则X 原与Y 原的积可用下述方法求得: 部分积 乘数初始 00.0000 10111. 00.1101 +X00.1101 右移00.0110 11012. +00.1101 +X01.0011 右移00.1001 11103. 0.0100 1111 只右移4. +00.1101 +X01.0001 右移00.1000 1111X.Y=0.X.Y原=1.X.Y=0.3.19 用补码一位乘计算X=0.1010,Y=0.0110的积X*Y解:流程流程图见图。运算如下:X补=0.1010, Y补=1.1010, -Y补=1.0110 部分积 乘数初始 00.0000 1. 00.0000 只右移2. +11.0110 10, +-X补 11.0110 右移 11.1011 3. +00.1010 01, +X补 00.0101 右移 00.0010 4. +11.0110 10,+-X补 11.1000 右移 11.1100 5. 11.1100 11,且为最后一步,不移位 X.Y补=1.X.Y=0.3.203.21解:流程图见图。运算如下:X补=0.10110,Y补=0.11111,-Y补=1.00001 被除数/余数 商 (加上判溢出位,共6位)开始 00.10110 0 0 0 0 0 01. 11.00001 +-Y 补 11.10111 0 0 0 0 0 0 不够减,商0,不溢出 11.01110 0 0 0 0 0 0 左移2. +00.11111 +Y 补 00.01101 0 0 0 0 0 1 够减,商1 00.11010 0 0 0 0 1 0 左移3. +11.00001 +-Y 补 11.11011 0 0 0 0 1 0 不够减.商0 11.10110 0 0 0 1 0 0 左移4. +00.11111 +-Y补 00.10101 0 0 0 1 0 1 够减,商1 01.01010 0 0 1 0 1 0 左移5. +11.00001 +-Y 补 00.01011 0 0 1 0 1 1 够减,商1 00.10110 0 1 0 1 1 0 左移6. +11.00001 +-Y补 11.10111 0 1 0 1 1 0 不够减.商0恢复原来余数, +Y 补 +00.11111 00.10110 商为0.10110,余数为0.10110 25,即0.解:流程流程图见图。运算如下:X补=0.10110,Y补=0.11111,-Y补=1.00001被除数/余数 商 (被除数与除数据)开始 00.10110 0 0 0 0 0 01. 11.00001 11.10111 0 0 0 0 0 0 11.01110 0 0 0 0 0 0 左2 +00.11111 00.01101 0 0 0 0 0 1 商1 00.11010 0 0 0 0 1 0 左3 +11.00001 11.11011 0 0 0 0 1 0 商0 11.10110 0 0 0 1 0 0 左4. +00.11111 00.10101 0 0 0 1 0 1 商1 01.01010 0 0 1 0 1 0 左移5. +11.00001 00.01011 0 0 1 0 1 1 商1 00.10110 0 1 0 1 1 0 左移6. +11.00001 11.10111 0 1 0 1 1 0 商0 X/Y补=0。10110,最低位置1,为0。101113.22 X= -0.0100,Y=0.1000,用补码一位除,求X/Y的商。3.23 X补0.10011,Y1.01101,用补码两位乘运算,求乘积X*Y补。3.24 用原码两位乘方法求XY。已知X0.1011,Y=0.1101.3.25 设浮点数X,Y,阶码(补码形式)和尾数(原码形式)如下:X:阶码0001,尾数 0.1010;Y:阶码1111,尾数0.1001。设基数为2。(1) 求XY(阶码运算用补码,尾数运算用补码)(2) 求XY(阶码运算用移码,尾数运算用原码一位乘)(3) 求X/Y(阶码运算用移码,尾数运算用原码加减交替法).解:EX补 EY补=1.111 MX补=11.1010 MY补=0.1001(1) 求X+Y(阶码,尾码均用补码).E=EX补+-EY补=0.001+0.001=0.0100 EX补=0.001是大阶; MY补右移两位00.MX+MY补=00.1010+00.=00.已规格化舍入后为00.1100非溢出X+Y:EX+Y补=0.001,MX+Y补=0.1100(2)求X/Y(阶码运算用移码,尾数运算用原码一位乘) EX移=1001,EY补=1111EX+EY移=EX移+EY补=1001+1111=1000 00 0000 0.1001 + 00.1010 加X00.1010 右移00.0101 00100 00.0010 10010 右移 00.0001 01001 右移 +00.1010 +X 00.1011 00.0101 10100 右移左规:尾数: 0. 阶: 0111舍入、尾 0.1011X*Y:EXY移=0111;MXY原=0.1011。(2) 求X/Y(阶码运算用移码,尾数运算用原码加减交替法)EX移=1001,-EY补=0001 EX-EY移=1001+0001=1010Y补=0.1001 -Y补=1.0111 00.1010 00000 +-Y补 +11.0111 00.0001 商1 左移 00.0010 00010 +11.0111 +-Y补 11.1001 商0 左 11.0010 00100 +00.1001 +-Y补 11.1011 商0 左 11.0110 +00.1001 +-Y补11.1111 商0 左 11.1110 10000+00.1001 +-Y补 00.0111 10001 (商1,不再左移)右规 尾 0., 阶 1011;舍入 尾 0.1001;不溢出X/Y: 阶(移)1011;尾(原)0.10013.26 浮点加减乘除运算各在什么情况下会发生溢出?3.27 设某运算器只由一个加法器和A,B两个D型边沿寄存器组成,A,B均可接收加法器输出,A还可接收外部数据,如图。BDS二选一CPBCPABAACPF加法器FLAGS问:(1) 外部数据如何才能传送到B?(2) 如何实现ABA和ABB?(3) 如何估算加法执行时间?(4) 若A,B均为锁存器,实现ABA和AB有何问题? 答:(1) 分两步完成,第1步:外部数据送入A。第2步:A中数据经送B。(2) ABA的命令:A,BABA的命令:A,B,CPB.(3) 从可知,ABA比ABB多经过一个二选一线路,因此,ABA的时间长,为:(A门延时)(求和时间)(二选一时延)(A寄存器建立时间)(4) 锁存器的特点,是在接收脉冲等于1的整个时间内,锁存器一直接收输入的数据,而边沿D型寄存器只大接收脉冲的上升沿瞬间接收输入。因此,设B为锁存器,若以CPB1的开始时刻,B接收到输出为AB;则之后,B的值送到,与A的值相加,一定时间后,输出为A(AB),送到B的输入端,被B接收,如引继续下去,到CPB变为0后,B中的值就不是原来希望的A中的了,A是锁存器的情况与此类似。3.28今有一串行加法器,计算两个n位数据之和,已知相加两数存放在A,B寄存器中,请画出能实现(A)(B)A的逻辑图。图中只准用一个一位加法器,逐位进行计算。解:假设内存中的数从D时入运算器。可分下述在步实现:第一步:内存数X送A。S1,CPA第二步:A中X经送B,同时内存数Y送A。A,要S1,CPA,CPB第三步:在中执行XY,建立新的状态标志。A,B,CPB(注:第17题中ABA和ABB的最后一步,一般也需CPB命令)。3.29 如果采用偶校验,下述两个数据的校验位的值是什么?(1)(2)3.30 设有16个信息位,如果采用海明校验,至少需要设置多少个校验位?应放在哪些位置上?解(1) 2K1=N+K+1(N=6),查表2.4,N=1126时,K=6,即需6个校验位;(2) 校验位位置:共N+K=16+6=22位;设为H21H0 ;数据位,设为D15 D0 ;校验6位,设为P5P0 ,则安排如下:H 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0P 5 4 3 2 1 0D15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 03.31 设有8位有效信息,试为之编制海明校验线路。说明编码方法,并分析所选方案具有怎样的检错与纠错能力。若8位信息为,海明码是何值?专心-专注-专业
展开阅读全文