计算机组成原理第6章作业答案.ppt

上传人:tian****1990 文档编号:7753046 上传时间:2020-03-24 格式:PPT 页数:126 大小:778.50KB
返回 下载 相关 举报
计算机组成原理第6章作业答案.ppt_第1页
第1页 / 共126页
计算机组成原理第6章作业答案.ppt_第2页
第2页 / 共126页
计算机组成原理第6章作业答案.ppt_第3页
第3页 / 共126页
点击查看更多>>
资源描述
计算机的运算方法 第六章 1 最少用几位二进制数即可表示任一五位长的十进制正整数 解 五位长的十进制正整数中 最大的数99999满足条件 216 65536 99999 217 131072 故最少用17位二进制数即可表示任一五位长的十进制正整数 9 2 已知X 0 a1a2a3a4a5a6 ai为0或1 讨论下列几种情况时ai各取何值 1 X 1 2 2 X 1 8 3 1 4 X 1 16解 1 若要X 1 2 只要a1 1 a2 a6不全为0即可 a2ora3ora4ora5ora6 1 2 若要X 1 8 只要a1 a3不全为0即可 a1ora2ora3 1 a4 a6可任取0或1 3 若要1 4 X 1 16 只要a1 0 a2可任取0或1 当a2 0时 若a3 0 则必须a4 1 且a5 a6不全为0 a5ora6 1 若a3 1 则a4 a6可任取0或1 当a2 1时 a3 a6可任取0或1 3 设x为整数 x 补 1 x1x2x3x4x5 若要求x 16 试问x1 x5应取何值 解 若要x 16 需x1 0 x2 x5任意 注 负数绝对值大的反而小 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 6 设机器数字长为8位 含1位符号位在内 分整数和小数两种情况讨论真值x为何值时 x 补 x 原成立 解 当x为小数时 若x 0 则 x 补 x 原成立 若x 0 则当x 1 2时 x 补 x 原成立 当x为整数时 若x 0 则 x 补 x 原成立 若x 0 则当x 64时 x 补 x 原成立 7 设x为真值 x 为绝对值 说明 x 补 x 补能否成立 解 当x为真值 x 为绝对值时 x 补 x 补不能成立 x 补 x 补的结论只在x 0时成立 当x y 补 是否有x y 解 若 x 补 y 补 不一定有x y x 补 y 补时x y的结论只在x 0 y 0 及x0 yy 但由于负数补码的符号位为1 则 x 补0时 有x y 补 注意 1 绝对值小的负数其值反而大 且负数的绝对值越小 其补码值越大 因此 当x y 补 必有x y 2 补码的符号位和数值位为一体 不可分开分析 3 完整的答案应分四种情况分析 但也可通过充分分析一种不成立的情况获得正确答案 4 由于补码0的符号位为0 因此x y 0可归纳到 0的一类情况讨论 9 当十六进制数9B和FF分别表示为原码 补码 反码 移码和无符号数时 所对应的十进制数各为多少 设机器数采用一位符号位 解 真值和机器数的对应关系如下 注意 1 9BH FFH为机器数 本身含符号位 2 移码符号位与原 补 反码相反 数值同补码 10 在整数定点机中 设机器数采用一位符号位 写出 0的原码 补码 反码和移码 得出什么结论 解 0的机器数形式如下 结论 补 移码0的表示唯一 原 反码不唯一 注意 本题不用分析不同编码间的其他特性 11 已知机器数字长为4位 其中1位为符号位 写出整数定点机和小树定点机中原码 补码和反码的全部形式 并注明其对应的十进制真值 解 机器数与对应的真值形式如下 续表1 续表2 续表3 12 设浮点数格式为 阶码5位 含1位阶符 尾数11位 含1位数符 写出51 128 27 1024 7 375 86 5所对应的机器数 要求如下 1 阶码和尾数均为原码 2 阶码和尾数均为补码 3 阶码为移码 尾数为补码 注 题意中应补充规格化数的要求 解 据题意画出该浮点数的格式 14110 阶符阶码数符尾数 注意 1 正数补码不 变反 1 2 机器数末位的0不能省 将十进制数转换为二进制 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 数符阶符阶码尾数 此时只要将上述答案中的数符位移到最前面即可 13 浮点数格式同上题 当阶码基值分别取2和16时 1 说明2和16在浮点数中如何表示 2 基值不同对浮点数什么有影响 3 当阶码和尾数均用补码表示 且尾数采用规格化形式 给出两种情况下所能表示的最大正数和非零最小正数真值 解 1 阶码基值不论取何值 在浮点数中均为隐含表示 即 2和16不出现在浮点格式中 仅为人为的约定 2 当基值不同时 对数的表示范围和精度都有影响 即 在浮点格式不变的情况下 基越大 可表示的浮点数范围越大 但精度越下降 3 r 2时 最大正数的浮点格式为 0 1111 0 1111111111其真值为 N max 215 1 2 10 非零最小规格化正数浮点格式为 1 0000 0 1000000000其真值为 N min 2 16 2 1 2 17r 16时 最大正数的浮点格式为 0 1111 0 1111111111其真值为 N max 1615 1 2 10 非零最小规格化正数浮点格式为 1 0000 0 0001000000其真值为 N min 16 16 16 1 16 17 14 设浮点数字长为32位 欲表示 6万间的十进制数 在保证数的最大精度条件下 除阶符 数符各取一位外 阶码和尾数各取几位 按这样分配 该浮点数溢出的条件是什么 解 若要保证数的最大精度 应取阶的基 2 若要表示 6万间的十进制数 由于32768 215 6万 65536 216 则 阶码除阶符外还应取5位 向上取2的幂 故 尾数位数 32 1 1 5 25位按此格式 该浮点数上溢的条件为 阶码 32该浮点数格式如下 15125 15 什么是机器零 若要求全0表示机器零 浮点数的阶码和尾数应采取什么机器数形式 解 机器零指机器数所表示的零的形式 它与真值零的区别是 机器零在数轴上表示为 0 点及其附近的一段区域 即在计算机中小到机器数的精度达不到的数均视为 机器零 而真零对应数轴上的一点 0点 若要求用 全0 表示浮点机器零 则浮点数的阶码应用移码 尾数用补码表示 此时阶码为最小阶 尾数为零 而移码的最小码值正好为 0 补码的零的形式也为 0 拼起来正好为一串0的形式 16 设机器数字长为16位 写出下列各种情况下它能表示的数的范围 设机器数采用一位符号位 答案均用十进制表示 1 无符号数 2 原码表示的定点小数 3 补码表示的定点小数 4 补码表示的定点整数 5 原码表示的定点整数 6 浮点数的格式为 阶码6位 含1位阶符 尾数10位 含1位数符 分别写出正数和负数的表示范围 注 加条件 阶原尾原非规格化数 7 浮点数格式同 6 机器数采用补码规格化形式 分别写出其对应的正数和负数的真值范围 解 各种表示方法数据范围如下 1 无符号整数 0 216 1 即 0 65535 2 原码定点小数 1 2 15 1 2 15 3 补码定点小数 1 2 15 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 31 2 9 最大负数 1 11111 1 000000001最小负数 0 11111 1 111111111则负数表示范围为 2 31 2 9 231 1 2 9 2 当采用阶移尾原非规格化数时 正数表示范围为 231 1 2 9 2 32 2 9负数表示范围为 2 32 2 9 231 1 2 9 注 零视为中性数 不在此范围内 7 当机器数采用补码规格化形式时 若不考虑隐藏位 则最大正数 0 11111 0 111111111最小正数 1 00000 0 100000000其对应的正数真值范围为 231 1 2 9 2 32 2 1最大负数 1 00000 1 011111111最小负数 0 11111 1 000000000其对应的负数真值范围为 2 32 2 1 2 9 231 1 注意 1 应写出可表示范围的上 下限精确值 用 或 不要用 或 2 应用十进制2的幂形式分阶 尾两部分表示 这样可反映出浮点数的格式特点 括号不要乘开 不要用十进制小数表示 不直观 不精确且无意义 3 原码正 负域对称 补码正 负域不对称 浮点数阶 尾也如此 特别要注意浮点负数补码规格化范围 满足条件 数符 MSB位 1 17 设机器数字长为8位 含1位符号位 对下列各机器数进行算术左移一位 两位 算术右移一位 两位 讨论结果是否正确 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 产生误差 18 试比较逻辑移位和算术移位 解 逻辑移位和算术移位的区别 逻辑移位是对逻辑数或无符号数进行的移位 其特点是不论左移还是右移 空出位均补0 移位时不考虑符号位 算术移位是对带符号数进行的移位操作 其关键规则是移位时符号位保持不变 空出位的补入值与数的正负 移位方向 采用的码制等有关 补码或反码右移时具有符号延伸特性 左移时可能产生溢出错误 右移时可能丢失精度 19 设机器数字长为8位 含1位符号位 用补码运算规则计算下列各题 1 A 9 64 B 13 32 求A B 2 A 19 32 B 17 128 求A B 3 A 3 16 B 9 32 求A B 4 A 87 B 53 求A B 5 A 115 B 24 求A B 解 1 A 9 64 0 0010010 2B 13 32 0 0110100 2 A 补 0 0010010 B 补 1 1001100 A B 补 0 0010010 1 10011001 1011110 无溢出A B 0 0100010 2 17 64 2 A 19 32 0 1001100 2B 17 128 0 0010001 2 A 补 0 1001100 B 补 1 1101111 B 补 0 0010001 A B 补 0 1001100 0 00100010 1011101 无溢出A B 0 1011101 2 93 128 3 A 3 16 0 0011000 2B 9 32 0 0100100 2 A 补 1 1101000 B 补 0 0100100 A B 补 1 1101000 0 01001000 0001100 无溢出A B 0 0001100 2 3 32 4 A 87 1010111 2B 53 110101 2 A 补 1 0101001 B 补 0 0110101 B 补 1 1001011 A B 补 1 0101001 1 10010110 1110100 溢出A B 1 0001100 2 140 5 A 115 1110011 2B 24 11000 2 A 补 0 1110011 B 补 1 1101000 A B 补 0 1110011 1 11010000 1011011 无溢出A B 1011011 2 91注意 1 单符号位运算要用单符号位的判断方法判溢出 2 结果的真值形式上要和原始数据一致 20 用原码一位乘 两位乘和补码一位乘 Booth算法 两位乘计算x y 1 x 0 110111 y 0 101110 2 x 0 010111 y 0 010101 3 x 19 y 35 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 x0 y0 0 1 1x y 0 100111100010 x y 原 1 100111100010 x y 0 100111100010 原码一位乘 部分积乘数y 0 000000 101110 0 10 0000000 10111 x 0 1101110 110111 10 01101110 1011 x 0 1101111 010010 10 101001010 101 x 0 1101111 100000 10 1100000010 10 0 10 01100000010 1 x 0 1101111 001111 10 100111100010 2x 01 101110 x 补 x 补 1 001001原码两位乘 部分积乘数Cj000 00000000 1011100 001 101110 2x 001 1011100 2000 0110111000 1011 111 001001 x 补111 1001001 2111 111001001000 10 111 001001 x 补111 0000101 2111 11000010001000 000 110111 x 000 1001111000100结果同一位乘 x y 0 100111100010 x 补 x 0 110111 y 补 1 010010 x 补 1 001001 2x 补 01 101110 2x 补 10 010010 x y 补 1 0110000111100 x y 0 1001111000100补码一位乘 两位乘运算过程如下 补码一位乘 部分积乘数 y 补yn 100 0000001 0100100 0 100 00000001 010010 11 001001 x 补11 001001 111 100100101 01001 00 110111 x 补00 011011 100 0011011101 0100 0 100 00011011101 010 11 001001 x 补11 001111 111 100111111101 01 00 110111 x 补00 011110 100 0011110111101 0 11 001001 x 补11 0110000111100 清0 补码两位乘 部分积乘数yn 1000 00000011 0100100 110 010010 2x 补110 010010 2111 1001001011 01001 000 110111 x 补000 011011 2000 000110111011 010 000 110111 x 补000 111101 2000 00111101111011 0 111 001001 x 补111 01100001111000 清0结果同补码一位乘 x y 0 10011110001000 2 x 0 010111 y 0 010101 x 原 1 010111 y 原 1 010101x 0 010111 y 0 010101 x 补 1 101001 2x 0 101110 2x 补 1 010010 x0 1 y0 1 z0 x0 y0 1 1 0 x 补 1 101001 y 补 1 101011 x 补 0 010111 2x 补 1 010010 2x 补 0 101110 x y 0 000111100011 x y 原 0 000111100011 x y 补 0 0001111000110 x y 0 000111100011运算过程如下 原码一位乘 部分积乘数y 0 000000 010101 x 0 0101110 010111 10 0010111 01010 0 10 00010111 0101 x 0 0101110 011100 10 001110011 010 0 10 0001110011 01 x 0 0101110 011110 10 00111100011 0 0 10 000111100011 原码两位乘 部分积乘数y Cj000 00000000 0101010 000 010111 x 000 0101110 2000 0001011100 0101 000 010111 x 000 0111000 2000 000111001100 01 000 010111 x 000 0111100 2000 00011110001100 0结果同一位乘 x y 0 000111100011 补码一位乘 部分积乘数 y 补yn 100 0000001 1010110 00 010111 x 补00 010111 100 00101111 101011 0 100 000101111 10101 11 101001 x 补11 101110 111 1101110111 1010 00 010111 x 补00 001110 100 00011100111 101 11 101001 x 补11 110000 111 111000000111 10 00 010111 x 补00 001111 100 0001111000111 1 0 补码两位乘 部分积乘数yn 1000 00000011 1010110 000 010111 x 补000 010111 2000 0001011111 10101 000 010111 x 补000 011100 2000 000111001111 101 000 010111 x 补000 011110 2000 00011110001111 1清0 0结果同补码一位乘 x y 0 00011110001100 3 x 19 y 35x 10011 2 y 100011 2x x 原 x 补 0 010011y y 原 y 补 0 100011 x 补 x 补 1 1011012x 2x 补 0 100110 2x 补 2x 补 1 011010 x0 0 y0 0 z0 x0 y0 0 0 0 x y x y x y 原 x y 补 0 001010011001 665 10运算过程如下 原码一位乘 部分积乘数y 0 000000100011 x 0 0100110 010011 10 001001110001 x 0 0100110 011100 10 001110011000 0 10 000111001100 0 10 000011100110 0 10 000001110011 x 0 0100110 010100 10 001010011001 原码两位乘 部分积乘数y Cj000 00000000 1000110 111 101101 x 补111 1011011 2111 1110110100 1000 000 010011 x 000 0011100 2000 000011100100 10 000 100110 2x 000 1010010 2000 00101001100100 0结果同一位乘 x y 0 001010011001 补码一位乘 部分积乘数 y 补yn 100 0000000 1000110 11 101101 x 补11 101101 111 11011010 100011 0 111 111011010 10001 00 010011 x 补00 001110 100 0001110010 1000 0 100 00001110010 100 0 100 000001110010 10 11 101101 x 补11 101110 111 1101110110010 1 00 010011 x 补00 0010100110010注 整数乘此位要省 补码两位乘 部分积乘数yn 1000 00000000 1000110 111 101101 x 补111 101101 2111 1110110100 10001 000 010011 x 补000 001110 2000 000011100100 100 111 011010 2x 补111 011101 2111 11011101100100 1 000 010011 0000 00101001100100 省结果同补码一位乘 x y 0 001010011001 4 x 0 11011 y 0 11101x x 原 x 补 0 11011 y 原 1 11101 y 0 11101 y 补 1 00011 x 补 x 补 1 001012x 2x 补 01 10110 2x 补 2x 补 10 01010 x0 0 y0 1 z0 x0 y0 0 1 1x y 0 1100001111 x y 原 1 1100001111 x y 补 1 00111100010 x y 0 1100001111运算过程如下 原码一位乘 部分积乘数y 0 00000 11101 x 0 110110 11011 10 011011 1110 0 10 0011011 111 x 0 110111 00001 10 10000111 11 x 0 110111 01011 10 101011111 1 x 0 110111 10000 10 1100001111 原码两位乘 部分积乘数y Cj000 000000 111010 000 11011 x 000 110110 2000 00110110 111 111 00101 x 补111 010111 2111 110101111 01 001 10110 2x 001 100000 1000 11000011110 0结果同一位乘 x y 0 1100001111 补码一位乘 部分积乘数 y 补yn 100 000001 000110 11 00101 x 补11 00101 111 1001011 00011 0 111 11001011 0001 00 11011 x 补00 10100 100 010100011 000 0 100 0010100011 00 0 100 00010100011 0 11 00101 x 补11 00111100010 清0 补码两位乘 部分积乘数yn 1000 000001 000110 111 00101 x 补111 00101 2111 11001011 0001 000 11011 x 补000 10100 2000 0010100011 00 110 01010 2x 补110 01111 1111 00111100010 清0结果同补码一位乘 x y 0 11000011110 21 用原码加减交替法和补码加减交替法计算x y 1 x 0 100111 y 0 101011 2 x 0 10101 y 0 11011 3 x 0 10100 y 0 10001 4 x 13 32 y 27 32 解 1 x x 原 x 补 x 0 100111y y 原 y 补 y 0 101011 y 补 y 补 1 010101q0 x0 y0 0 0 0 x y x y x y 原 0 111010r 0 000010 2 6 0 000000000010计算过程如下 原码加减交替除法 被除数 余数 商0 1001110 000000 1 010101试减 y 补1 1111001 1 1110000 0 101011r0 y 补0 0110111 0 1101100 11 1 010101r 0 y 补0 001011 续 被除数 余数 商1 0 0101100 111 1 010101r 0 y 补1 1010111 1 0101100 1110 0 101011r0 y 补1 0101111 0 111010 0 101011r 0 y 恢复余数 0 000010 补码加减交替除法 被除数 余数 商00 1001110 000000 11 010101试减 x y同号 y 补11 1111001 11 1110000 00 101011r y异号 y 补00 1000111 01 0001100 1 11 010101r y同号 y 补00 0110111 00 1101100 11 11 010101r y同号 y 补00 001011 续 被除数 余数 商1 00 0101100 111 11 010101r y同号 y 补11 1010111 11 0101100 1110 00 101011r y异号 y 补00 0000011 00 0000100 11101 11 010101r y同号 y 补11 0101111 0 111011 恒置1 00 101011r x异号 恢复余数 00 000010且r y异号 y 补注 恒置1引入误差 x y x y 补 0 111011 r 补 0 000010 r r 0 000000000010 2 x 0 10101 y 0 11011 x 原 1 10101x 0 10101y y 原 y 补 y 0 11011 y 补 y 补 1 00101 x 补 1 01011q0 x0 y0 1 0 1x y 0 11000 x y 原 1 11000 x y 0 11000r 0 11000 2 5 0 0000011000计算过程如下 原码加减交替除法 被除数 余数 商0 101010 00000 1 00101试减 y 补1 110101 1 101000 0 11011r0 y 补0 000111 0 001100 11 1 00101r 0 y 补1 01011 续 被除数 余数 商1 0 101100 110 0 11011r 0 y 1 100011 1 000100 1100 0 11011r 0 y 1 111011 0 11000 0 11011r 0 y 恢复余数 0 11000 补码加减交替除法 被除数 余数 商11 010110 00000 00 11011试减 x y异号 y 补00 001101 00 011001 11 00101r y同号 y 补11 100011 11 000101 0 00 11011r y异号 y 补11 111011 11 110101 00 00 11011r y异号 y 补00 10101 续 被除数 余数 商1 01 010101 001 11 00101r y同号 y 补00 011111 00 111101 0011 11 00101r y同号 y 补00 000111 1 00111 恒置1 11 00101r x异号 恢复余数 11 01000且r y同号 y 补注 恒置1引入误差 r 补 1 01000 r 0 0000011000 x y 补 1 00111 x y 0 11001 3 x 0 10100 y 0 10001x x 原 x 补 x 0 10100 y 原 1 10001y 0 10001 y 补 1 01111 y 补 1 01111 y 补 0 10001q0 x0 y0 0 1 1x y 1 00101 溢出 x y 原 无定义x y 1 00101r 0 01011 2 5 0 0000001011计算过程如下 原码加减交替除法 被除数 余数 商0 101000 00000 1 01111试减 y 补0 000111 0 001101 1 01111r 0 y 补1 101011 1 010101 0 0 10001r 0 y 1 110111 1 101101 00 0 10001r 0 y 0 00111 注 溢出 可停止运算 转溢出处理 续 被除数 余数 商1 0 011101 001 1 01111r 0 y 补1 111011 1 110101 0010 0 10001r0 结束注 当x y 时产生溢出 这种情况在第一步运算后判断r的正负时就可发现 此时数值位占领小数点左边的1位 原码无定义 但算法本身仍可正常运行 补码加减交替除法 被除数 余数 商00 101000 00000 11 01111试减 x y异号 y 补00 000111 00 001100 11 01111r y异号 y 补11 101011 11 010100 1 00 10001r y同号 y 补11 110111 11 101100 11 00 10001r y同号 y 补00 00111 续 被除数 余数 商1 00 011100 110 11 01111r y异号 y 补11 111011 11 110100 1101 00 10001r y同号 y 补00 010111 0 11011 恒置1r x同号 结束 r 补 0 01011 r r 0 0000001011真符位的产生 qf x0 y0 0 1 1 x y 补 10 11011 x y 1 00101判溢出 qf q0 1 0 1 溢出 注 由于本题中x y 有溢出 除法运算时一般在运算前判断是否x y 如果该条件成立则停止运算 转溢出处理 但此算法本身在溢出情况下仍可正常运行 此时数值位占领小数点左边的1位 商需设双符号位 变形补码 以判溢出 采用这种方法时运算前可不判溢出 直接进行运算 运算完后再判溢出 4 x 13 32 0 01101 2y 27 32 0 11011 2x x 原 x 补 x 0 01101 y 原 1 11011y 0 11011 y 补 1 00101 y 补 1 00101 y 补 0 11011q0 x0 y0 0 1 1x y 0 01111 x y 原 1 01111x y 0 01111 2 15 32r 0 01011 2 5 0 0000001011 原码加减交替除法 被除数 余数 商0 011010 00000 1 00101试减 y 补1 100101 1 001000 0 11011r0 y 补0 10111 续 被除数 余数 商1 1 011100 011 1 00101r 0 y 补0 100111 1 001100 0111 1 00101r 0 y 补0 010111 0 01111r 0 结束 补码加减交替除法 被除数 余数 商00 011010 00000 11 00101试减 x y异号 y 补11 100101 11 001001 00 11011r y同号 y 补11 111111 11 111101 1 00 11011r y同号 y 补00 110011 01 100101 10 11 00101r y异号 y 补00 10111 续 被除数 余数 商1 01 011101 100 11 00101r y异号 y 补00 100111 01 001101 1000 11 00101r y异号 y 补00 010111 1 10001 恒置1r x同号 结束 r 补 0 01011 r r 0 0000001011 x y 补 1 10001 x y 0 01111 2 15 32 22 设机器字长为16位 含1位符号位 若一次移位需1 s 一次加法需1 s 试问原码一位乘 补码一位乘 原码加减交替除和补码加减交替除法最多各需多少时间 解 原码一位乘最多需时 1 s 15 加 1 s 15 移位 30 s补码一位乘最多需时 1 s 16 1 s 15 31 s原码加减交替除最多需时 1 s 16 1 1 s 15 32 s补码加减交替除最多需时 1 s 16 1 1 s 15 32 s 25 对于尾数为40位的浮点数 不包括符号位在内 若采用不同的机器数表示 试问当尾数左规或右规时 最多移位次数各为多少 解 对于尾数为40位的浮点数 若采用原码表示 当尾数左规时 最多移位39次 反码表示时情况同原码 若采用补码表示 当尾数左规时 正数最多移位39次 同原码 负数最多移位40次 当尾数右规时 不论采用何种码制 均只需右移1次 26 按机器补码浮点运算步骤计算 x y 补 1 x 2 011 0 101100 y 2 010 0 011100 2 x 2 011 0 100010 y 2 010 0 011111 3 x 2101 0 100101 y 2100 0 001111 解 先将x y转换成机器数形式 1 x 补 1 101 0 101100 y 补 1 110 1 100100注 为简单起见 源操作数可直接写成浮点格式 不必规格化 1 对阶 E 补 Ex 补 Ey 补 11 101 00 010 11 111 E 补 0 应Ex向Ey对齐 则 Ex 补 1 11 101 00 001 11 110 E 补 1 11 111 00 001 00 000 0至此 Ex Ey 对毕 x 补 1 110 0 0101102 尾数运算 Mx 补 My 补 00 010110 11 10010011 111010 Mx 补 My 补 00 010110 00 01110000 1100103 结果规格化 x y 补 11 110 11 111010 11 011 11 010000 左规3次 阶码减3 尾数左移3位 x y 补 11 110 00 110010已是规格化数 4 舍入 无5 溢出 无则 x y 2 101 0 110000 x y 2 010 0 110010 2 x 2 011 0 100010 y 2 010 0 011111 x 补 1 101 1 011110 y 补 1 110 1 1000011 对阶 过程同1 则 x 补 1 110 1 1011112 尾数运算 Mx 补 My 补 11 101111 11 10000111 010000 Mx 补 My 补 11 101111 00 01111100 001110 3 结果规格化 x y 补 11 110 11 010000已是规格化数 x y 补 11 110 00 001110 11 100 00 111000 左规2次 阶码减2 尾数左移2位 4 舍入 无5 溢出 无则 x y 2 010 0 110000 x y 2 100 0 111000 3 x 2101 0 100101 y 2100 0 001111 x 补 0 101 1 011011 y 补 0 100 1 1100011 对阶 E 补 Ex 补 Ey 补 00 101 11 100 00 001 E 补 0 应Ey向Ex对齐 则 Ey 补 1 00 100 00 001 00 101 E 补 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 补不变 x y 补 00 100 11 0001015 溢出 无则 x y 2101 0 101101 x y 2100 0 111011 27 假设阶码取3位 尾数取6位 均不包括符号位 计算下列各题 1 25 11 16 24 9 16 2 2 3 13 16 2 4 5 8 3 23 13 16 24 9 16 4 26 11 16 23 15 16 5 23 1 2 2 57 64 6 2 6 1 27 1 2 7 3 3125 6 125 8 14 75 2 4375解 设机器数采用阶补尾补形式 1 x 25 11 16 2101 0 101100y 24 9 16 2100 0 100100 则 x 阶补尾补 00 101 00 101100 y 阶补尾补 00 100 11 011100 1 对阶 E 补 Ex 补 Ey 补 00 101 11 100 00 001 E 补 0 应Ey向Ex对齐 则 Ey 补 1 00 100 00 001 00 101 E 补 1 补 00 001 11 111 0至此 Ey Ex 对毕 y 补 00 101 11 1011102 尾数运算 Mx 补 My 补 00 101100 11 10111000 0110103 结果规格化 左规1位 x y 补 00 101 00 011010 00 100 00 110100 4 舍入 不需舍入 5 溢出 无则 x y 2100 0 110100 24 13 16 2 2 3 13 16 2 4 5 8 x 2 3 13 16 2 011 0 110100y 2 4 5 8 2 100 0 101000 x 阶补尾补 11 101 00 110100 y 阶补尾补 11 100 11 0110001 对阶 E 补 Ex 补 Ey 补 11 101 00 100 00 001 E 补 0 应Ey向Ex对齐 则 Ey 补 1 11 100 00 001 11 101 E 补 1 补 00 001 11 111 0至此 Ey Ex 对毕 y 补 11 101 11 1011002 尾数运算 Mx 补 My 补 00 110100 00 01010001 0010003 结果规格化 右规 x y 补 11 101 01 001000 11 110 00 1001004 舍入 不需舍入 5 溢出 无则 x y 2 010 0 100100 2 2 9 16 3 23 13 16 24 9 16 x 23 13 16 2011 0 110100 y 24 9 16 2100 0 100100 x 阶补尾补 00 011 0 110100 y 阶补尾补 00 100 1 0111001 阶码相加 Ex 补 Ey 补 00 011 00 100 00 111 无溢出 2 尾数相乘 补码两位乘比较法 见下页 Mx My 补 11 100010 11000000 3 结果规格化 左规1位 x y 补 0 111 1 100010 11000000 0 110 1 000101 1000000 2 尾数相乘 补码两位乘比较法 部分积乘数yn 1000 00000011 0111000 000 000000 0 补000 000000 2000 0000000011 01110 111 001100 x 补111 001100 2111 110011000011 011 001 101000 2x 补001 011011 2000 01011011000011 0 111 001100 x 补111 10001011000000 清0 4 舍入 设采用0舍1入法 应舍 x y 阶补尾补 0 110 1 0001015 溢出 无x y 2110 0 111011 26 59 64 4 26 11 16 23 15 16 x 26 11 16 2110 0 101100 y 23 15 16 2011 0 111100 x 阶补尾补 00 110 1 010100 y 阶补尾补 00 011 1 0001001 阶码相减 Ex 补 Ey 补 00 110 11 101 00 011 无溢出 2 尾数相除 补码加减交替除法 被除数 余数 商11 0101000 000000试减 00 111100Mx My同号 My 补00 0100001 00 1000000 11 000100r My异号 My 补11 1001001 11 0010000 1 00 111100r My同号 My 补00 0001001 00 0010000 10 11 000100r My异号 My 补11 001100 续 被除数 余数 商1 10 0110000 101 00 111100r My同号 My 补11 0101001 10 1010000 1011 00 111100r My同号 My 补11 1001001 11 0010000 10111 00 111100r My异号 My 补00 0001001 0 101111 恒置1 11 000100r Mx异号 恢复余数 11 001000且r My异号 My 补 Mx My 补 0 101111 r 补 1 001000r 0 111000 2 6 0 000000111000 29 设浮点数阶码取3位 尾数取6位 均不包括符号位 要求阶码用移码运算 尾数用补码运算 计算x y 且结果保留1倍字长 1 x 2 100 0 101101 y 2 011 0 110101 2 x 2 011 0 100111 y 2101 0 101011 解 先将x y转换成机器数形式 1 x 阶移尾补 0 100 0 101101 y 阶移尾补 0 101 1 0010111 阶码相加 Ex 移 Ey 补 00 100 11 101 00 001 无溢出 2 尾数相乘 算法一 补码两位乘比较法 部分积乘数yn 1000 00000011 0010110 111 010011 x 补111 010011 2111 1101001111 00101 111 010011 x 补111 000111 2111 110001111111 001 000 101101 x 补000 011110 2000 00011110111111 0 111 010011 x 补111 01101010111100 清0 2 尾数相乘 算法二 补码一位乘比较法 部分积乘数yn 100 0000001 0010110 11 010011 x 补11 010011 111 10100111 001011 0 111 110100111 00101 00 101101 x 补00 100001 100 0100001111 0010 11 010011 x 补11 100011 111 11000111111 001 00 101101 x 补00 011110 100 001111011111 00 0 100 0001111011111 0 11 010011 x 补11 0110101011110 清0 Mx My 补 1 011010 10111100 3 结果规格化 已是规格化数 4 舍入 设采用0舍1入法 应入 x y 阶移尾补 0 001 1 0110115 溢出 无x y 2 111 0 100101 2 x 2 011 0 100111 y 2101 0 101011 x 阶移尾补 0 101 1 011001 y 阶移尾补 1 101 1 0101011 阶码相加 Ex 移 Ey 补 00 101 00 101 01 010 无溢出 2 尾数相乘 算法一 补码两位乘比较法 部分积乘数yn 1000 00000011 0101010 111 011001 x 补111 011001 2111 1101100111 01010 111 011001 x 补111 001111 2111 110011110111 010 111 011001 x 补111 001100 2111 11001100110111 0 000 100111 x 补000 01101000110100 清0 Mx My 补 0 011010 00110100 2 尾数相乘 算法二 补码一位乘比较法 部分积乘数yn 100 0000001 0101010 00 100111 x 补00 100111 100 01001111 010101 11 011001 x 补11 101100 111 110110011 01010 00
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!