"计算机体系结构习题及浮点数设计与处理解析"

0 下载量 24 浏览量 更新于2024-01-31 收藏 19KB DOCX 举报
计算机标准体系结构是计算机科学中的一个重要概念,涵盖了计算机体系结构的各个方面,包括指令集架构、计算模型、寄存器组织等。在这篇总结中,我们将重点关注以下四个问题:计算机体系结构中的浮点数表示方法、浮点数精度和表数范围的设计、浮点数舍入方法的选择以及误差范围的计算。 第一个问题涉及浮点数的表示方法。根据题目要求,尾数使用补码、小数表示,阶码使用移码、整数表示。尾数字长为6位(不包括符号位),阶码字长为6位(不包括符号位),数基值为16,阶码基值为2。根据这些要求,我们可以得出以下数据的十进制表示和十六进制编码: (1)最大尾数:尾数部分全为1,阶码部分全为0,最终的十进制值为7.875,十六进制编码为0x7FC000。 (2)最小正数:尾数部分为0(除去符号位),阶码部分全为1,最终十进制值为2^-5=0.03125,十六进制编码为0x00080。 (3)最小尾数:尾数部分为1,阶码部分全为0,最终十进制值为1.0,十六进制编码为0x30000。 (4)最小正尾数:尾数部分全为0(除去符号位),阶码部分全为1,最终十进制值为2^-5=0.03125,十六进制编码为0x00080。 (5)最大负尾数:尾数部分全为1,阶码部分全为1,最终十进制值为-1.0625,十六进制编码为0xDFC000。 (6)最大阶码:尾数部分全为0,阶码部分全为1,最终十进制值为16,十六进制编码为0x60000。 (7)最小阶码:尾数部分全为0,阶码部分全为0,最终十进制值为1,十六进制编码为0x20000。 (8)最大正数:尾数部分全为1,阶码部分全为1,最终十进制值为15.9375,十六进制编码为0x5FC000。 (9)最小负数:尾数部分全为1,阶码部分全为0,最终十进制值为-0.5,十六进制编码为0xB0000。 (10)浮点零:尾数部分全为0,阶码部分全为0,最终十进制值为0,十六进制编码为0x00000。 (11)表数精度:根据尾数长度,表数精度为2^-6=0.015625,十六进制编码为0x00100。 (12)表数效率:根据尾数长度和阶码长度,表数效率为(2^6-1)/(2^6 * 2^6-2)=63/3969=0.01587。 第二个问题是设计浮点数格式以满足要求。要求浮点数精度不低于10^-7.2,表数范围正数大于10^38,且正、负数对称。尾数使用原码、纯小数表示,阶码使用移码、整数表示。具体设计如下: 尾数长度(包括符号位):n = 8,尾数范围为-2^(n-1) ~ 2^(n-1)-1。 阶码长度(包括符号位):m = 128,阶码范围为-2^(m-1) ~ 2^(m-1)-1。 符号位长度:1位。 根据这个格式,最大正数为(2^(n-1)-1) * 2^(2^(m-1)-1) = (2^7-1) * 2^127 = 3.4028 * 10^38。 最大负数为-(2^(n-1)-1) * 2^(2^(m-1)-1) = -3.4028 * 10^38。 表数精度为2^(-n+1) = 2^(-8+1) = 2^-7 = 10^-2.8。 表数效率为(2^(n-1)-1) / (2^n * 2^(m-1)-2) = (2^7-1) / (2^8 * 2^127-2) = 127 / 2^135。 第三个问题是选择适宜的舍入方法。根据题目要求,浮点数在正数区积累误差小于2^(-p-1),其中p是浮点数尾数长度。适宜的舍入方法是向最近的偶数舍入。 最后一个问题是计算误差范围。对于正数区,误差范围为2^-p-1 = 2^-7 = 10^-2.8。 综上所述,本文总结了计算机标准体系结构课后答案中的内容,包括浮点数表示方法、浮点数格式设计、舍入方法选择和误差范围计算。