当前位置:首页 > 计算机组成原理第六章部分课后题答案(唐朔飞版)
(6) 浮点数的格式为:阶符1位、阶码5位、数符1位、尾数
9位(共16位)。分别写出其正数和负数的表示范围
(7) 浮点数格式同(6),机器数采用补码规格化形式,分别写出
其对应的正数和负数的真值范围。
解:(1) 无符号数:0 —— 2^16 – 1,即0 —— 65535 无符号小数:0 —— 1 – 2^-16,即0 —— 0.99998
(2) 原码定点小数:-1 + 2^-15 —— 1 - 2^-15,即-0.99997 ——
0.99997
(3) 补码定点小数:-1 —— 1 – 2^-15,即-1 —— 0.99997 (4) 补码定点整数:-2^15 —— 2^15 – 1,即-32768 —— 32767 (5) 原码定点整数:-2^15 + 1 —— 2^15 – 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) * 2^31 则负数表示范围为:-(1 – 2^-9) * 2^31 —— -2^-9 * 2^-31 最大正数 = 0,11 111: 0.111 111 111;即-(1 – 2^-9) * 2^31 最小正数 = 1,11 111; 0.000 000 001,即2^-9 * 2^-31 则正数表示范围为:2^-9 * 2^-31 —— (1 – 2^-9) * 2^31 (7) 当机器数采用补码规格化形式时,若不考虑隐藏位,则 最大负数 = 1,00 000; 1.011 111 111,即-2^-1 * 2^-32 最小负数 = 0,11 111; 1.000 000 000,即-1 * 2^31 则负数表示范围为:-1 * 2^31 —— -2^-1 * 2^-32
最大正数 = 0,11 111; 0.111 111 111,即(1 – 2^-9) * 2^31 最小正数 = 1,00 000; 0.100 000 000,即2^-1 * 2^-32 则正数表示范围为:2^-1 * 2^-32 —— (1 – 2^-9) * 2^31
6.17 设机器数字长为8位(包括一位符号位),对下列各机器数进行
算术左移1位、2位,
算术右移1位、2位,结果是否正确。
[x1]原 = 0.0011010; [y1]补 = 0.1010100; [z1]反 = 1.0101111
[x2]原 = 1.1101000; [y2]补 = 1.1101000; [z2]反 = 1.1101000
[x3]原 = 1.0011001; [y3]补 = 1.0011001; 1.0011001
解:算术左移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)出错 补 = 1.010 0000;正确
[y3]补 = 1.110 0100;溢出(丢00)出错 [z1]反 = 1.011 1111;溢出(丢01)出错
[z3]反= [y2][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,产生误差
共分享92篇相关文档