🐳
南软佛脚玩乐指南
Github
  • 欢迎
  • 南软
    • 课程&培养方案介绍
  • 佛脚
    • 微积分 I/II
    • CPL
    • 计算系统基础
    • 软件工程与计算 I
    • 离散数学
    • 需求与商业模式创新
      • 商业模式部分笔记
      • 需求部分笔记
      • 往年卷
    • 线性代数
    • 互联网计算
      • 01-计算机网络及其参考模型
      • 02-物理层
      • 03-数据链路层
      • 04-网络层
      • 05-传输层
      • 06-应用层
      • 07-路由
      • 08-路由协议
      • 09-VLAN
      • 10-广域网 & PPP
      • 11-网络安全 & ACL
      • 12-DHCP
      • 20-复习
      • 21-常见报文汇总
      • 22-往年卷要点汇总
      • 名词解释
      • 大作业要求
      • 实验考试要求
      • 小测及答案
    • 计算机组织结构
      • 01-概述
      • 02-计算机的顶层视图
      • 03-数据表示
      • 04-校验码
      • 05-整数运算
      • 06-浮点运算
      • 07-BCD运算
      • 08-内部存储器
      • 09-Cache
      • 10-外部存储器
      • 11-RAID
      • 12-虚拟存储器
      • 13-指令系统
      • 14-指令流水线
      • 15-控制器
      • 16-总线
      • 17-输入输出
      • 20-复习
      • 机考
        • 2024-12
        • 2020-12
    • 数据结构与算法
    • 密码学原理
    • 计算机系统基础实验选修
  • 玩乐
    • 吃喝
      • 鼓楼周边
      • 仙林周边
      • 南京市内
    • 旅游
      • 春日赏花
      • 宁杭线
  • 交通
  • 指南
    • 获取下载密码
    • 添砖加瓦
由 GitBook 提供支持
在本页
  • 加减法
  • 步骤
  • 注意事项
  • 原码加法
  • 乘法
  • 除法
  • 精度&保护位
在GitHub上编辑
  1. 佛脚
  2. 计算机组织结构

06-浮点运算

上一页05-整数运算下一页07-BCD运算

最后更新于3个月前

加减法

  • 必须确保两个操作数具有相同的指数值

  • X±Y=(XS×BXE−YE±YS)×BYE(XE≤YE)X \pm Y=\left(X_S \times B^{X_E-Y_E} \pm Y_S\right) \times B^{Y_E} (X_E\le Y_E)X±Y=(XS​×BXE​−YE​±YS​)×BYE​(XE​≤YE​)

步骤

  • 检查0

  • 对阶:把小的往大的靠近(防止上溢,不用care最终会被忽略掉的小的位数)

  • 加或减有效值

  • 规格化结果

注意事项

  • Add signed significands(尾数):取决于正负号对应进行加减,64位运算

  • 若尾数溢出需要右移并调整指数

  • 若调整后指数溢出要设为inf

  • 对于0/inf的情况,需要把阶码/尾数也设为0

原码加法

  • 如果两个操作数有相同的符号,做加法;否则,做减法

  • 加法:直接相加

    • 最高位进位:溢出

    • 符号和被加数(被减数)相同

  • 减法:加第二个操作数的补数

    • 若最高位有进位:正确(转过了一圈)

    • 若没有取补数(手动转一圈)

乘法

  • 任一操作数为0 乘积为0

  • 阶码相加,减偏移量(相加后有两个偏移量)

  • 有效值相乘

  • 结果规格化、舍入

除法

  • 除数为0:Inf/出错

  • 被除数为0:0

  • 被除数和除数阶码相减,加偏移量

  • 有效值相除

  • 规格化&舍入

精度&保护位

  • 寄存器的长度大于有效值长度,多余的用作保护位

  • 保护位用0填充,位于有效值的右端

  • 保护位可能带来精度下降:保护位只能减少结果的误差,无法保护源数

浮点数加减法
浮点数乘法
浮点数除法