浮点数加减运算过程:对阶、尾数运算、规格化、舍入和判溢出

浮点数加减运算过程:对阶、尾数运算、规格化、舍入和判溢出例如 两浮点数 x 0 1101 201 y 0 1010 211 求 x y 一 对阶 1 求补码 x 补 00 01 00 1101 y 补 00 11 11 0110 2 求阶差小阶向大阶对阶 同时尾数右移 移动位数为阶差 00 11 00 01 00 10 2 故阶差为 2 故 x 补 00 11 00 0011 二 尾数求和将对阶后的两个尾数安定点加减运算规则进行运算

例如:两浮点数x=0.1101*201,y=(-0.1010)*211,求x+y

一、 对阶

1、求补码

[x]=00,01;00.1101,[y]=00,11;11.0110;

2、求阶差

二、尾数求和

三、规格化:

(1) 左规

尾数出现00.0xx…x或11.1xx…x时需要进行左规,左规时尾数左移一位,阶码减一,直到成为:00.1xx…x或11.0xx…x。一句话就是尾数第一位和符号位相同
如上例求和结果为:
[x+y]=00,11;11.1001;
故将其尾数左移一位,阶码减1得:
00,10;11.0010;
规格化后这是补码,求其尾数的原码即可,故结果为
x+y=(-0.1110)*2+10





(2) 右规
  • 1、对阶
  • 2、尾数求和
  • 3、尾数求和
  • 求和结果为 [x+y]=00,10;01.0010;

故需要进行右规,尾数向右移动一位,阶码加1得:[x+y]=00,11;00.1001;则x+y=0.1001×211

四、舍入

(1)”0舍1入”法

“0舍1入”法类似与十进制的四舍五入法,即在尾数右移时,被移去的最高数值位为0,则舍去;被移去的最高数值位位1,则在尾数的末位加1,这样做可能使得尾数又溢出,此时需再做一次右规。

(2)”恒置1″法

尾数右移是不论丢掉得最高数值位是1或0,都使右移后得尾数末尾位恒置1。

例:设x=x-101x(-0.),y=2-100x(+0.),并假设阶符取2位,阶码得数值部分取3位,数符取2位,尾数得数值部分取6位,求x-y;

解: 由题可得:[x]=11,011;11.011000,[y]=11,100;00.;

  • 1、对阶
  • 11,100-11,011=00.001=1。故x得尾数右移1位,阶码加1,即
  • [x]=11,100;11.
  • 2、求和
  • [Sx]– [Sy]= [Sx]+ [-Sy]=11.+11.000101=10.

注意:Sy=>-Sy;连同符号位取反,末尾加1。

  • 尾数符合位出现10,需要右规
  • 3、规格化
  • 尾数右移,阶码加1,右规后得[x-y]=11,101;11.011000 1
  • 4、舍入处理
  • 采用0舍1入法,其尾数右规时末位丢1,再+1,得:[x-y]=11,101;11.011001

在这里插入图片描述
欢迎关注公众号:理木客
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230067.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午3:12
下一篇 2026年3月16日 下午3:12


相关推荐

  • Windows server2012密钥_windows 7密钥

    Windows server2012密钥_windows 7密钥WindowsServer2012Standard密钥:NB4WH-BBBYV-3MPPC-9RCMV-46XCBWindowsServer2012StandardCore密钥:NB4WH-BBBYV-3MPPC-9RCMV-46XCBWindowsServer2012Datacenter密钥:BH9T4-4N7CW-67J3M-64J36-WW98YWindowsS

    2022年10月10日
    4
  • 【JS面试题】面试官问我:遍历一个数组用 for 和 forEach 哪个更快?

    【JS面试题】面试官问我:遍历一个数组用 for 和 forEach 哪个更快?for 语句用于创建一个循环 它包含了三个可选的表达式 三个可选的表达式包围在圆括号中并由分号分隔 后跟一个在循环中执行的语句 通常是一个块语句 语法 一个表达式 包含赋值语句 或者变量声明 典型地被用于初始化一个计数器 该表达式可以使用或关键字声明新的变量 使用 var 声明的变量不是该循环的局部变量 而是与循环处在同样的作用域中 用声明的变量是语句的局部变量 该表达式的结果无意义 一个条件表达式被用于确定每一次循环是否能被执行 如果该表达式的结果为 将被执行 这个表达式是可选的 如果被

    2026年3月27日
    2
  • 2026年最新Claude注册教程:国内如何注册Claude账号?如何购买Claude账号?

    2026年最新Claude注册教程:国内如何注册Claude账号?如何购买Claude账号?

    2026年3月16日
    1
  • springboot常用注解使用详解

    springboot常用注解使用详解对于 springboot 而言 需要掌握平常使用的注解案例详解如下 Controller 标明这是一个 SpringMVC 的 Controller 控制器 SpringBootAp SpringBoot 项目的核心注解 主要目的是开启自动配置 Configuratio 这是一个配置 Spring 的配置类 publicclassH nbsp nbsp

    2025年9月14日
    5
  • RRT基本概念

    RRT基本概念原文地址快速探索随机树 RRT 是一种通过随机构建空间填充树来有效搜索非凸 高维空间的算法 树是从搜索空间中随机抽取的样本逐步构建的 并且本质上倾向于朝向大部分未探测区域生长 RRT 由 StevenM LaValle 和 JamesJ KuffnerJr 1 2 开发 它们可以轻松处理障碍物和差分约束 非完整和动力学 的问题 并被广泛应用于自主机器人运动规划 RRT 可以被看作是一种为

    2026年3月17日
    1
  • Vue生命周期详解

    Vue生命周期详解目录前言 一 生命周期流程图详解 1 beforeCreate Created2 编辑模板过程 3 beforeMount Mounted4 beforeUpdate Updated5 beforeDestro Destroyed 二 生命周期代码 1 父子组件加载生命周期 2 父子组件更新生命周期 3 父子组件销毁生命周期前言 1 什么是 vue 生命周期 Vue 实例从创建到销毁的过程 就是生命周期 也就是从开始创建 初始化数据 编译模板 挂载 Dom 渲染 更新

    2026年3月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号