计算机组成原理:浮点运算与加减乘除详解
版权申诉
167 浏览量
更新于2024-07-03
收藏 2.05MB PPTX 举报
计算机组成原理的第二章主要探讨了运算方法和运算部件,特别是针对浮点数运算的详细步骤。浮点数运算的核心在于保证精度和正确性,其中包括以下几个关键环节:
1. 对阶:这是浮点数加减运算的第一步,目标是使两个浮点数的阶码(指数部分)相等,以便进行有效的尾数相加。例如,对于x=0.1101×2^01和y=(-0.1010)×2^11,通过计算阶码差,调整较小的数的阶码使其与较大的数相匹配。
2. 尾数求和:对阶后,按照定点加减运算规则对尾数(小数部分)进行求和或相减。
3. 规格化:为了增加有效数字并保持精度,求和结果可能会超出原范围,这时需要将其规格化,即将尾数的最高数值位(非符号位)与符号位分开。例如,通过左规或右规来确保尾数只包含有效数字。
4. 舍入:由于浮点数运算可能存在舍入误差,规格化过程中可能需要根据舍入规则处理尾数,通常采用“0舍1入”的策略,以决定是否在尾数的最低位添加1。
5. 溢出判断:判断运算结果是否超过浮点数所能表示的最大或最小范围。阶码溢出通常表现为阶码上溢(01,XXXX)和下溢(10,XXXX),这会导致溢出标志被置位。如果阶码符号位为00,表示没有溢出。
6. 浮点乘除法运算:
- 移码溢出判断:通过添加额外的符号位来检测溢出,阶码相加(减)时,移码运算结果的最高位为1代表溢出。
- 尾数乘除法遵循定点小数运算的规则,然后进行规格化和舍入。
- 数据校验码:通过冗余码的方式检测错误并提供自动纠错功能,当合法数据编码错误时,会变为非法数。
浮点数运算在计算机组成原理中是一个复杂而重要的部分,涉及多个步骤,包括对阶、尾数处理、规格化以及精确的溢出控制,这些都是保证计算机科学中数值计算准确性的基础。理解这些细节对于程序员和硬件设计者来说至关重要,因为它们直接影响到程序的性能和结果的准确性。
2021-11-19 上传
2021-11-19 上传
2021-10-11 上传
2022-11-17 上传
2022-11-16 上传
2021-10-09 上传
2021-10-11 上传
2021-10-03 上传
wxg520cxl
- 粉丝: 25
- 资源: 3万+
最新资源
- RichardRNStudio
- wnl.rar_Java编程_Java_
- word2vec:Google的Python接口word2vec
- :rocket:可定制的圆形/线性进度条软件包,支持动画文本,使用SwiftUI构建-Swift开发
- The Flow Of Time-crx插件
- 可运营的SSL证书在线生成系统源码,附带图文搭建教程
- grb:通过HTTP进行争夺从未如此简单
- vgg19-tensorflowjs-model::memo:Tensorflow.js VGG-19的预训练模型
- vault-kustomization
- composify:将WordPress插件zip文件转换为git存储库,以便composer版本约束正常运行
- 基于C#实现的普通图像读取及遥感图像处理
- student.rar_教育系统应用_Visual_C++_
- matlab哈士奇代码-Husky:沙哑
- PSI In-application Extension-crx插件
- 猫鼬简介:Ejemplo de un ORMbásicocreado con mongosse para mongo
- qtff-2001.zip_文件格式_Visual_C++_