浮点数的加法运算

article/2025/9/9 21:48:09

浮点数的加法运算分以下五个步骤:

1、对阶:

这一点和十进制中计算指数一样,首先应该使指数化为相同的指数幂,例如:

x=3*10^4,y=4*10^3,则,x+y=3*10^4+0.4*10^4=(3+0.4)*10^4

二进制中也是如此:

x=.1010*2^10,y=.1100*2^01,则,x+y=.1010*2^10+.0110*2^10=(.1010+.0110)*2^10

2、尾数求和

即:(.1010+.0110)

3、规格化

(负数的补码在左侧补1值不变,正数的补码在左侧补0值bubi不变)

规格化分为左规和右规,左规:如果符号位与位数最高位相同则需要左规,不同则右规,

4、舍入

考虑尾数右移时丢失的数值位。舍入的方式有三种:1、舍0去1,有舍有入比较精确,实现时比较麻烦。2、截去法,直接截去丢失的数值。3、恒1法,直接在尾数最低位置1,有放大也有缩小,还算精确(0.0右移并用恒1法则变为1.对尾数进行了放大,1.1右移的话则变为1.尾数比原来变小)

5、检测溢出

 

例:

x=0.110100\times 2^{+010},y=(-0.101010)\times2^{+100}, solve : x+y?

解:阶码取3位,尾数取6位(均不包括符号位),机器表示的形式分别为

[x]_{CC}=0010\0110100 \par[y]_{CC}=0100\1010110 

(CC表示补码)

(1)、对阶:求阶差(两阶码的补码相减)

在机器运算中,符号位在表示时取1位,但是在运算的过程中则是取2位作为符号位

减00100就是加-00100的补码,即11100

\begin{array}{r} 00\,010\\ +\quad 11\,100\\ \hline 11\,110\\ \end{array}

其真值是-2,即x的阶码比y的阶码小2,故将x的阶码增大为0100,尾数右移两位变为0100 0001101

(2)、尾数向加

\begin{array}{r} 00\,001101\\ +\quad11\,010110\\ \hline 11\,100011 \end{array}

x,y相加的结果为:0100 1 100011

(3)、规格化

符号位与尾数最高位相同,即11.1或00.0,需要左规(符号位与尾数一同左移1位,阶码减1),所以结果应为:

如果符号位出现01.x或10.x则需要右规(符号位与尾数一同右移,阶码加1)

[x+y]补 = 0011 1 000110
x+y = (-0.111010)*2^(+011)

(4)、舍入

在对阶和右规的过程中,可能会将尾数的低位丢失,引起误差,影响精度,为此可用舍入法来提高尾数的精度。

例二:

浮点数x=0.1101*x^(+10), y=0.1011*2^(+01),求 x+y, 用0舍1入法。解:阶码取2位,尾数取4位(均不包含符号位),机器的表示形式是:[x]补 = 010 0 1101[y]补 = 001 0 1011(1)、对阶00 10+ 11 11----------00 01故x的阶码比y的阶码大1,所以,y的阶码加1,尾数右移1位变为01011,用0舍1入法,       知,此时有[y]补 = 010 0 0110(2)、尾数向加00 1101+ 00 0110------------01 0011(3)、规格化尾数符号位为01,所以需要右规(尾数右移1位,阶码加1)[x+y]补 = 011 0 100110舍1入后得到,[x+y]补 = 011 0 1010故:x+y = 01010*2^(+11)

 


http://chatgpt.dhexx.cn/article/3PfMZNs1.shtml

相关文章

2.6 浮点运算方法和浮点运算器

学习目标: 以下是一些具体的学习目标: 理解浮点数的基本概念和表示方法,包括符号位、指数和尾数。学习浮点数的运算规则和舍入规则,包括加、减、乘、除、开方等。了解浮点数的常见问题和误差,例如舍入误差、溢出、下…

什么是浮点数?

微信搜索关注「水滴与银弹」公众号,第一时间获取优质技术干货。7年资深后端研发,用简单的方式把技术讲清楚。 在上一篇文章中,我们主要介绍了在计算机中使用定点数表示数字的方式。 简单回顾一下,简单来说,用定点数表…

浮点数加减运算

浮点运算要把阶码和尾数分别处理。 阶码的运算是定点整数运算,对阶码的运算四种:阶码加1,阶码减1,两阶码求和,两阶码求差。 尾数的运算是定点小数运算,运算过程中一般取双符号位 浮点运算器总是由处理阶…

浮点数运算原理详解

导读:浮点数运算是一个非常有技术含量的话题,不太容易掌握。许多程序员都不清楚使用操作符比较float/double类型的话到底出现什么问题。 许多人使用float/double进行货币计算时经常会犯错。这篇文章是这一系列中的精华,所有的软件开发人员都应…

浮点数运算——加减乘除都有哈

什么是浮点数 浮点数运算异常 IEEE 754 标准规定的五种异常情况 浮点数除0的问题 浮点数加减运算 浮点数乘除运算 导读:浮点数运算是一个非常有技术含量的话题,不太容易掌握。许多程序员都不清楚使用操作符比较float/double类型的话到底出现什么问题…

浮点数的运算步骤

浮点数的运算步骤 浮点数的加减运算一般由以下五个步骤完成:对阶、尾数运算、规格化、舍入处理、溢出判断 一、对阶 所谓对阶是指将两个进行运算的浮点数的阶码对齐的操作。对阶的目的是为使两个浮点数的尾数能够进行加减运算。因为,当进行M x2Ex与M …

浮点数运算

今天学习了浮点数运算(加减乘除)。浮点数运算主要包括两部分:指数运算和尾数运算。在IEEE754标准下,指数运算就是阶码的运算,类似于无符号数运算。尾数运算是原码运算。之前一直很疑惑为什么前面的教材在介绍原码运算&…

计算机组成原理:浮点数的加、减、乘、除运算(含实例完整运算)

目录 浮点数的加减运算 零操作数的判断 对阶操作 尾数的加减操作 尾数的规格化 结果的舍入处理 结果的溢出判断 加减实例运算过程 浮点数的乘除法 零操作数的检查 阶码的加减操作 尾数的乘除操作 结果的规格化、舍入处理及溢出的判断 具体的操作如下图 乘除实例运算…

浮点数的运算方法

浮点数的运算方法 一、浮点数的表示1.浮点数的表示2.IEEE 754标准3.浮点数类型 二、浮点数的加减法1.定义2.运算步骤 三、运算部件四、强化练习 一、浮点数的表示 1.浮点数的表示 Ms表示尾数的符号位,E中1bit保存阶码的符号位其余空间存放阶码值,M中存放…

typeScript 接口(interface)及其与类型别名(type)的区别

背景 最近自己在学习一些视频剪辑相关的工具,像爱剪辑,剪映这些软件。然后就想自己是不是也可以实现一个类似的,轻量级的在线剪辑工具。最后发现这个款node端的工具库FFCreator,接下来简单介绍一下如何来搭建开发环境&#xff0c…

Type Description : This type is a general type that can be used to declare

错误描述: Complex type: param-valueType Description : This type is a general type that can be used to declare parameter/value lists. 解决方法: 把0移到init-param下面

Type and Value

Type and Value 前言一、reflect.Type1.1 数据结构1.2 方法1.2.1 所有类型通用方法1.2.2 不同基础类型的专有方法 二、reflect.Value总结参考资料 前言 reflect.Type和reflect.Value是go 反射的两大基本类型,一个管变量的类型方面,一个管变量的值方面。…

typescript interface 与 type 声明类型的区别

在 typescript 中, 我们定义类型有两种方式: 接口(interface) 和类型别名(type alias) 在官方文档中我们可以看到: Unlike an interface declaration, which always introduces a named object type, a type alias declaration can introduce a name for any kind…

type是什么

作者:newis 链接:https://www.zhihu.com/question/376890141/answer/1302417252 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 程语言的Type的话,有在不同的场景下有不同的意义…

Type-C

一、Type-C 从USB TYPE-C 的Spec上截一个USB TYPE-C母座的pin脚图: 可以看出,母座上有24根信号, 其中电源和地占据了8根,用于提升电流传输能力,剩下16个: (1)传输USB3数据的RXx和…

Java Type

Type 是Java 编程语言中所有类型的公共高级接口(官方解释),也就是Java 中所有类型的”爹“。其中”所有类型“的描述尤为指的关注。它并不是我们平常工作中经常使用的int、String、List、Map等数据类型,而是从Java语言角度磊说&am…

常见USB接口总结:Type-A、Mini-USB、Micro-USB、Type-C等等

写在前面 最近在整理之前的笔记,打算把一些有价值的笔记发到CSDN分享一下。这篇总结参考的链接如下,结合了自己找的一些图片,非原创,侵权的话私聊我删除。 参考文章链接 https://mb.zol.com.cn/514/5147157.html 总览 标准Type-…

# USB Type-A、Type-B、Type-C及MicroUSB、MiniUSB接口定义

USB Type-A、Type-B、Type-C及MicroUSB、MiniUSB接口定义 文章目录 USB Type-A、Type-B、Type-C及MicroUSB、MiniUSB接口定义1 USB Type-A(USB-A)2 USB Type-B(USB-B)3 USB Type-C(USB-C)3.1 24Pin3.2 16Pi…

Java FileReader相对路径

实验一快要到DDL了,今天在用Javac和Java命令手动执行实验一的代码的时候发现一个问题,当时在IDEA中运行正常的代码,在javac编译手动用java执行的时候发现并不能通过,出问题的代码是一段(试图)使用相对路径来…

详解HTML的相对路径写法,详解URL相对路径的写法

虽然现在搭网站都会用各种框架,路径方面使用相对路径可能已经比较少了,不过还是总结一下吧。 假设D盘这个路径下有一些文件: D:\例子\html\images\ D:\例子\html\style\ D:\例子\html\example.html D:\例子\html\tupian.gif 1.若引用的资源和…