第六章-习题解答_第1页
第六章-习题解答_第2页
第六章-习题解答_第3页
第六章-习题解答_第4页
第六章-习题解答_第5页
免费预览已结束,剩余46页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章习题解答,4.设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。-13/64,29/128,100,-87解:真值与不同机器码对应关系如下:,真值十进制二进制原码反码补码-13/64-0.0011011.00110101.11001011.110011029/1280.00111010.00111010.00111010.001110110011001000,11001000,11001000,1100100-87-10101111,10101111,01010001,0101001,5.已知x补,求x原和x。x1补=1.1100;x2补=1.1001;x3补=0.1110;x4补=1.0000;x5补=1,0101;x6补=1,1100;x7补=0,0111;x8补=1,0000;解:x补与x原、x的对应关系如下:,x补x原x(二进制)x(十进制)1.11001.0100-0.0100-1/41.10011.0111-0.0111-7/160.11100.1110+0.1110+7/81.0000无-1.0000-11,01011,1011-1011-111,11001,0100-0100-40,01110,0111+0111+71,0000无-10000-16,9.当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?解:真值和机器数的对应关系如下:,11.已知机器数字长为4位(其中1位为符号位),写出整数定点机和小树定点机中原码、补码和反码的全部形式,并注明其对应的十进制真值。,解:机器数与对应的真值形式如下:,续表1:,续表2:,续表3:,12.设浮点数格式为:阶符1位、阶码4位、数符1位、尾数10位。写出51/128、27/1024、7.375、-86.5所对应的机器数。要求(1)阶码和尾数均为原码;(2)阶码和尾数均为补码;(3)阶码为移码,尾数为补码。解:据题意画出该浮点数的格式:14110,阶符阶码数符尾数,将十进制数转换为二进制:x1=51/128=(0.0110011)2=2-1(0.110011)2x2=-27/1024=(-0.0000011011)2=2-5(-0.11011)2x3=7.375=(111.011)2=23(0.111011)2x4=-86.5=(-1010110.1)2=27(-0.10101101)2则以上各数的浮点规格化数为:(1)x1浮=1,0001;0.1100110000(2)x1浮=1,1111;0.1100110000(3)x1浮=0,1111;0.1100110000,(1)x2浮=1,0101;1.1101100000(2)x2浮=1,1011;1.0010100000(3)x2浮=0,1011;1.0010100000(1)x3浮=0,0011;0.1110110000(2)x3浮=0,0011;0.1110110000(3)x3浮=1,0011;0.1110110000(1)x4浮=0,0111;1.1010110100(2)x4浮=0,0111;1.0101001100(3)x4浮=1,0111;1.0101001100注:以上浮点数也可采用如下格式:11410,数符阶符阶码尾数,此时只要将上述答案中的数符位移到最前面即可。,16.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。(1)无符号数;(2)原码表示的定点小数;(3)补码表示的定点小数;(4)补码表示的定点整数;(5)原码表示的定点整数;(6)浮点数的格式为:阶符1位、阶码5位、数符1位、尾数9位(共16位)。分别写出其正数和负数的表示范围;(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。,解:各种表示方法数据范围如下:(1)无符号整数:0216-1,即:065535;(2)原码定点小数:1-2-15-(1-2-15),即:0.99997-0.99997;(3)补码定点小数:1-2-15-1,即:0.99997-1;(4)补码定点整数:215-1-215,即:32767-32768;(5)原码定点整数:215-1-(215-1),即:32767-32767;,(6)据题意画出该浮点数格式:1519,阶符阶码数符尾数,由于题意中未指定该浮点数所采用的码制,则不同的假设前提会导致不同的答案,示意如下:1)当采用阶原尾原非规格化数时,最大正数=0,11111;0.111111111最小正数=1,11111;0.000000001则正数表示范围为:231(1-2-9)2-312-9,最大负数=1,11111;1.000000001最小负数=0,11111;1.111111111则负数表示范围为:2-31(-2-9)-231(1-2-9)2)当采用阶移尾原非规格化数时,正数表示范围为:231(1-2-9)2-322-9负数表示范围为:2-32(-2-9)-231(1-2-9)注:零视为中性数,不在此范围内。,(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则最大正数=0,11111;0.111111111最小正数=1,00000;0.100000000其对应的正数真值范围为:231(1-2-9)2-322-1最大负数=1,00000;1.011111111最小负数=0,11111;1.000000000其对应的负数真值范围为:-2-32(2-1+2-9)231(-1),17.设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。x1原=0.0011010;x2原=1.1101000;x3原=1.0011001;y1补=0.1010100;y2补=1.1101000;y3补=1.0011001;z1反=1.0101111;z2反=1.1101000;z3反=1.0011001。,解:算术左移一位:x1原=0.0110100;正确x2原=1.1010000;溢出(丢1)出错x3原=1.0110010;正确y1补=0.0101000;溢出(丢1)出错y2补=1.1010000;正确y3补=1.0110010;溢出(丢0)出错z1反=1.1011111;溢出(丢0)出错z2反=1.1010001;正确z3反=1.0110011;溢出(丢0)出错算术左移两位:x1原=0.1101000;正确x2原=1.0100000;溢出(丢11)出错x3原=1.1100100;正确,算术左移两位:y1补=0.1010000;溢出(丢10)出错y2补=1.0100000;正确y3补=1.1100100;溢出(丢00)出错z1反=1.0111111;溢出(丢01)出错z2反=1.0100011;正确z3反=1.1100111;溢出(丢00)出错算术右移一位:x1原=0.0001101;正确x2原=1.0110100;正确x3原=1.0001100(1);丢1,产生误差y1补=0.0101010;正确y2补=1.1110100;正确y3补=1.1001100(1);丢1,产生误差,算术右移一位:z1反=1.1010111;正确z2反=1.1110100(0);丢0,产生误差z3反=1.1001100;正确算术右移两位:x1原=0.0000110(10);产生误差x2原=1.0011010;正确x3原=1.0000110(01);产生误差y1补=0.0010101;正确y2补=1.1111010;正确y3补=1.1100110(01);产生误差z1反=1.1101011;正确z2反=1.1111010(00);产生误差z3反=1.1100110(01);产生误差,19.设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。(1)A=9/64,B=-13/32,求A+B;(4)A=-87,B=53,求A-B;解:(1)A=9/64=(0.0010010)2B=-13/32=(-0.0110100)2A补=0.0010010B补=1.1001100A+B补=0.0010010+1.10011001.1011110无溢出A+B=(-0.0100010)2=-17/64,(4)A=-87=(-1010111)2B=53=(110101)2A补=1,0101001B补=0,0110101-B补=1,1001011A-B补=1,0101001+1,10010110,1110100溢出A-B=(-1,0001100)2=-140,20.用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算xy。(1)x=0.110111,y=-0.101110;(4)x=0.11011,y=-0.11101。解:先将数据转换成所需的机器数,然后计算,最后结果转换成真值。(1)x原=x=0.110111,y原=1.101110 x*=0.110111,y*=0.101110 x0=0,y0=1,z0=x0y0=01=1x*y*=0.100111100010xy原=1.100111100010 xy=-0.100111100010,原码一位乘:部分积乘数y*0.000000.101110+010.0000000.10111+x*+0.1101110.11011110.01101110.1011+x*+0.1101111.01001010.101001010.101+x*+0.1101111.10000010.1100000010.10+010.01100000010.1x*+0.1101111.00111110.100111100010,2x*=01.101110,-x*补=-x补=1.001001原码两位乘:部分积乘数Cj000.00000000.1011100+001.101110+2x*001.10111002000.0110111000.1011+111.001001+-x*补111.10010012111.111001001000.10+111.001001+-x*补111.00001012111.11000010001000.+000.110111+x*000.1001111000100结果同一位乘,xy=-0.100111100010,x补=x=0.110111y补=1.010010-x补=1.0010012x补=01.101110-2x补=10.010010xy补=1.0110000111100 xy=-0.1001111000100补码一位乘、两位乘运算过程如下:,补码一位乘:部分积乘数y补yn+100.0000001.0100100+0100.00000001.010010+11.001001+-x补11.001001111.100100101.01001+00.110111+x补00.011011100.0011011101.0100+0100.00011011101.010+11.001001+-x补11.001111111.100111111101.01+00.110111+x补00.011110100.0011110111101.0+11.001001+-x补11.0110000111100清0,补码两位乘:部分积乘数yn+1000.00000011.0100100+110.010010+-2x补110.0100102111.1001001011.01001+000.110111+x补000.0110112000.000110111011.010+000.110111+x补000.1111012000.00111101111011.0+111.001001+-x补111.01100001111000.结果同补码一位乘,xy=-0.10011110001000,(4)x=0.11011,y=-0.11101x*=x原=x补=0.11011y原=1.11101,y*=0.11101y补=1.00011-x*补=-x补=1.001012x*=2x补=01.10110-2x*补=-2x补=10.01010 x0=0,y0=1,z0=x0y0=01=1x*y*=0.1100001111xy原=1.1100001111xy补=1.00111100010 xy=-0.1100001111运算过程如下:,原码一位乘:部分积乘数y*0.00000.11101+x*+0.110110.1101110.011011.1110+010.0011011.111+x*+0.110111.0000110.10000111.11+x*+0.110111.0101110.101011111.1+x*+0.110111.1000010.1100001111,原码两位乘:部分积乘数y*Cj000.000000.111010+000.11011+x*000.1101102000.00110110.111+111.00101+-x*补111.0101112111.110101111.01+001.10110+2x*001.1000001000.11000011110.+0结果同一位乘,xy=-0.1100001111,补码一位乘:部分积乘数y补yn+100.000001.000110+11.00101+-x补11.00101111.1001011.00011+0111.11001011.0001+00.11011+x补00.10100100.010100011.000+0100.0010100011.00+0100.00010100011.0+11.00101+-x补11.00111100010清0,补码两位乘:部分积乘数yn+1000.000001.000110+111.00101+-x补111.001012111.11001011.0001+000.11011+x补000.101002000.0010100011.00+110.01010+-2x补110.011111111.00111100010.清0结果同补码一位乘,xy=-0.11000011110,21.用原码加减交替法和补码加减交替法计算xy。(2)x=-0.10101,y=0.11011;解:,(2)x=-0.10101,y=0.11011x原=1.10101x*=0.10101y*=y原=y补=y=0.11011-y*补=-y补=1.00101x补=1.01011q0=x0y0=10=1x*y*=0.11000xy原=1.11000 xy=-0.11000r*=0.110002-5=0.0000011000计算过程如下:,原码加减交替除法:被除数(余数)商0.101010.00000+1.00101试减,+-y*补1.1101011.101000.+0.11011r0,+-y*补0.0001110.001100.11+1.00101r0,+-y*补1.01011,续:被除数(余数)商10.101100.110+0.11011r0,+y*1.1000111.000100.1100+0.11011r0,+y*1.1110110.11000+0.11011r0,应Ey向Ex对齐,则:Ey补+1=00,100+00,001=00,101E补+-1补=00,001+11,111=00,000=0至此,Ey=Ex,对毕。y补=0,101;1.111000(1),2)尾数运算:Mx补+My补=11.011011+11.111000(1)11.010011(1)Mx补+-My补=11.011011+00.000111(1)11.100010(1)3)结果规格化:x+y补=00,101;11.010011(1)已是规格化数。x-y补=00,101;11.100010(1)=00,100;11.000101(左规1次,阶码减1,尾数左移1位),4)舍入:x+y补=00,101;11.010011(舍)x-y补不变。5)溢出:无则:x+y=2101(-0.101101)x-y=2100(-0.111011),29.设浮点数阶码取3位,尾数取6位(均不包括符号位),要求阶码用移码运算,尾数用补码运算,计算xy,且结果保留1倍字长。(1)x=2-1000.101101,y=2-011(-0.110101);(2)x=2-011(-0.100111),y=2101(-0.101011)。解:先将x、y转换成机器数形式:(1)x阶移尾补=0,100;0.101101y阶移尾补=0,101;1.0010111)阶码相加:Ex移+Ey补=00,100+11,101=00,001(无溢出),2)尾数相乘:(补码两位乘比较法)部分积乘数yn+1000.000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论