计算机组成原理第六章部分课后题答案(唐朔飞版).doc
6.4 设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。 -13/64,29/128,100,-87解:十进制数 二进制数 原 码 反 码 补 码 -13/64 -0.00 1101 1.001 1010 1.110 0101 1.110 0110 29/128 0.001 1101 0.001 1101 0.001 1101 0.001 1101 100 110 0100 0,110 0100 0,110 0100 0,110 0100 -87 -101 0111 1,101 0111 1,010 1000 1,010 10016.5 已知x补,求x原和x.x补 = 1.1100; x补 = 1.1001; x补 = 0.1110; x补 = 1.0000; x补 = 1,0101; x补 = 1,1100; x补 = 0,0111; x补 = 1,0000; 解:x补 x原 x 1.0000 1.0000 0 1,0101 1,1011 -1011 1,1100 1,0100 -0100 0,0111 0,0111 111 1,0000 1,0000 06.9 当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位) 解: 原码 补码 反码 移码 无符号数9B 二进制 -11011 -1100101 -1100100 +11011 1001 十进制 -27 -101 -100 +27 155 FF 二进制 -1111111 -0000001 -0000000 +1111111 1111 1111十进制 -127 -1 -0 +127 2556.11 已知机器数字长为4位(其中1位为符号位),写出整数定点机和小数定点机中原码、补码和反码的全部形式,并注明其对应的十进制数真值。解:真值(二进制)真值(十进制)原码反码补码整数+111+110+101+100+011+010+001+000-1000-111-110-101-100-011-010-001-000+7+6+5+4+3+2+1+0-8-7-6-5-4-3-2-1-00,1110,1100,1010,1000,0110,0100,0010,000无1,1111,1101,1011,1001,0111,0101,0011,000同原码无1,0001,0011,0101,0111,1001,1011,1101,111同原码1,0001,0011,0101,0111,1001,1011,1101,1110,000小数+0,000+7/8+3/4+5/8+1/2+3/8+1/4+1/8+00,.010同原码同原码6.12 设浮点数格式为:阶符1位、阶码4位、数符1位、尾数10位,写出51/128、-27/1024、7.375、-86.5所对应的机器数。要求 (1) 阶码和尾数均为原码 (2) 阶码和尾数均为补码 (3) 阶码和移码,尾数为补码。 解:浮点数格式: 阶符1位阶码4位数符1位尾数10位 将十进制数转换为二进制数:x1= 51/128=110011B= 2-1 * 0 011B x2= -27/1024= B = 2-5*(B) 则以上各数的浮点规格化数为:(1)x1浮=1,0001;0.110 011 000 0 x2浮=1,0101;1.110 110 000 0(2)x1浮=1,1111;0.110 011 000 0 x2浮=1,1011;1.001 010 000 0(3)x1浮=0,1111;0.110 011 000 0 x2浮=0,1011;1.001 010 000 0 6.15 什么是机器零?若要求全0表示机器零,浮点数的阶码和尾数应采用什么机器数形式? 解:机器零是指机器数所表示的零的形式,它与真值零的区别是:机器零在数轴上表示为“0”点及其附近的一段区域,即在计算机中小到机器数的精度达不到的数均视为“机器零”,而真零对应数轴上的一点(0点)。 6.16 设机器数字长为16位,写出下列各种情况下它所能表示的数的范围。设机器数采用一位符号位,答案均用十进制数表示。 (1) 无符号数 (2) 原码表示的定点小数 (3) 补码表示的定点小数 (4) 补码表示的定点整数 (5) 原码表示的定点整数 (6) 浮点数的格式为:阶符1位、阶码5位、数符1位、尾数9位(共16位)。分别写出其正数和负数的表示范围 (7) 浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。 解:(1) 无符号数:0 216 1,即0 65535 无符号小数:0 1 (3) 补码定点小数:-1 1 2-15 (4) 补码定点整数:-215 215 1,即-32768 32767 (5) 原码定点整数:-215 + 1 215 1,即-32767 32767 (6) 根据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时: 最大负数 = 1,11 111; 1,000 000 001,即-2-9 * 2-31 最小负数 = 0,11 111; 1.111 111 111,即-(1 - 2-9) * 231 则负数表示范围为:-(1 2-9) * 231 -2-9 * 2-31 最大正数 = 0,11 111: 0.111 111 111;即-(1 2-9) * 231 最小正数 = 1,11 111; 0.000 000 001,即2-9 * 2-31 则正数表示范围为:2-9 * 2-31 (1 2-9) * 231 (7) 当机器数采用补码规格化形式时,若不考虑隐藏位,则 最大负数 = 1,00 000; 1.011 111 111,即-2-1 * 2-32 最小负数 = 0,11 111; 1.000 000 000,即-1 * 231 则负数表示范围为:-1 * 231 -2-1 * 2-32 最大正数 = 0,11 111; 0.111 111 111,即(1 2-9) * 231 最小正数 = 1,00 000; 0.100 000 000,即2-1 * 2-32 则正数表示范围为:2-1 * 2-32 (1 2-9) * 231 6.17 设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移1位、2位,算术右移1位、2位,结果是否正确。x1原 = 0.0011010; y1补 = 0.1010100; z1x2原 = 1.1101000; y2补 = 1.1101000; z2x3原 = 1.0011001; y3补 = 1.0011001; z3解:算术左移1位 x1原 = 0.011 0100;正确 x2原 = 1.101 0000;溢出(丢1)出错 x3原 = 1.011 0010;正确 y1补 = 0.010 1000;溢出(丢1)出错 y2补 = 1.101 0000;正确 y3补 = 1.011 0010;溢出(丢0)出错 z1反 = 1.10 1 1111;溢出(丢0)出错z2反 = 1.101 0001;正确 z3反 = 1.011 0011;溢出(丢0)出错 算术左移2位: x1原 = 0.110 1000;正确 x2原 = 1.010 0000;溢出(丢11)出错 x3原 = 1.110 0100;正确 y1补 = 0.101 0000;溢出(丢10)出错 y2补 = 1.010 0000;正确 y3补 = 1.110 0100;溢出(丢00)出错 z1反 = 1.011 1111;溢出(丢01)出错z2反 = 1.010 0011;正确 z3反 = 1.110 0111;溢出(丢00)出错 算术右移1位: x1原 = 0.000 1101;正确 x2原 = 1.011 0100;正确 x3原 = 1.000 1100;丢1,产生误差 y1补 = 0.010 1010;正确 y2补 = 1.111 0100;正确 y3补 = 1.100 1100;丢1,产生误差 z1反 = 1.101 0111;正确z2反 = 1.111 0100;丢0,产生误差 z3反 = 1.100 1100;正确 算术右移2位: x1原 = 0.000 0110;丢10,产生误差 x2原 = 1.001 1010;正确 x3原 = 1.000 0110;丢01,产生误差 y1补 = 0.001 0101;正确 y2补 = 1.111 1010;正确 y3补 = 1.110 0110;丢01,产生误差 z1反 = 1.110 1011;正确z2反 = 1.111 1010;丢00,产生误差 z3反 = 1.110 0110;丢01,产生误差