首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在IEEE 754中,为什么添加负零会导致无操作,而添加正零则不会?

在IEEE 754中,添加负零会导致无操作,而添加正零则不会的原因是因为IEEE 754标准规定了浮点数的表示方法和运算规则。

首先,IEEE 754标准将浮点数表示为符号位、指数位和尾数位的组合。其中,符号位表示数的正负,指数位表示数的大小范围,尾数位表示数的精度。

对于正零和负零,它们的符号位不同,正零的符号位为0,负零的符号位为1。在IEEE 754中,正零和负零在数值上是相等的,但在符号上是不同的。

当进行浮点数的加法运算时,如果两个数的符号位不同,即一个为正数,一个为负数,那么在加法运算中,会先进行数值的相加,然后再根据符号位确定结果的正负。

而当进行浮点数的减法运算时,可以将减法转化为加法运算。例如,a - b 可以转化为 a + (-b)。因此,当一个数减去负零时,即 a + (-0),由于负零的符号位为1,会导致数值相加后的结果为负数。

根据IEEE 754标准的规定,对于浮点数的运算,如果结果为负数,则需要进行额外的处理,例如设置标志位或抛出异常。而对于正零和负零的加法运算,由于结果为负数,因此会触发额外的处理,导致无操作。

相反地,当一个数加上正零时,即 a + 0,由于正零的符号位为0,不会改变数值的正负。因此,加上正零不会导致结果为负数,也就不会触发额外的处理,所以不会导致无操作。

总结起来,IEEE 754标准中添加负零会导致无操作的原因是由于负零的符号位为1,在浮点数的减法运算中,会导致结果为负数,触发额外的处理;而添加正零则不会改变数值的正负,不会导致结果为负数,因此不会触发额外的处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

IEEE二进制浮点数算术标准(IEEE 754)

一个浮点数编码中,如果exponent=0,且尾数部分不为,那么就按照非规约浮点数来解析) 非规约浮点数源于70年代末IEEE浮点数标准化专业技术委员酝酿浮点数二进制标准时,Intel公司对渐进式下溢出...因为,指数的值可能为也可能为,如果采用补码表示的话,全体符号位S和Exp自身的符号位将导致不能简单的进行大小比较。正因为如此,指数部分通常采用一个符号的正数值存储。...因为,指数的值可能为也可能为,如果采用补码表示的话,全体符号位S和Exp自身的符号位将导致不能简单的进行大小比较。正因为如此,指数部分通常采用一个符号的正数值存储。...浮点数的运算与函数[编辑]   标准运算[编辑]   下述函数必须提供:  加减乘除Add, subtract, multiply, divide.加减运算中相等 -0.0 = 0.0平方根Square...精度[编辑]   二进制,第一个有效数字必定是“1”,因此这个“1”并不会存储。

1.3K00

深入理解计算机系统 第二章 笔记

符号位为 1 时,表示值为 符号位为 0 时,表示值为 ω 位补码所能表示的值得范围 Tmin = -2 ^ (w - 1) Tmax = 2 ^ (w - 1) - 1 注: 设置最高位为权,...符号数的拓展 将符号数转换为一个更大的数据类型,我们只要简单地表示的开头添加 0,这种运算被称为 拓展 补码数的符号拓展 将一个补码数字转换为一个更大的数据类型,可以执行一个 符号拓展,表示中添加最高有效位的值...例:-12345 的补码 和 53191 的符号表示 16 位字长时是相同的,但是 32 位字长时确实不同的。...-12345 得 十六进制表示为 0xFFFFCFC7, 53191 的十六进制表示为 0x0000CFC7 前者使用的是符号拓展 —— 开头添加了 16 位的 1 后者使用了拓展 —— 开头添加了...2^w,这种情况称为 溢出 当结果小于 -2^(w-1) 时,截断的结果会加上 2^w,这种情况称为 溢出 符号乘法 补码乘法 乘以常数 大多数机器上,整数乘法指令相当慢,需要 10

3.2K30

IEEE 754二进制浮点数算术标准

+Infinity 和 -Infinity 分别表示无穷大和无穷大,可以代码中直接引用,也可能是某些数值运算的结果。如运算“3 / 0”的结果是 Infinity。...数值 0 也有正数和负数两种形式,称为 0 和 0,分别用 +0 和 -0 来表示。...从公式  V = (-1)s * M * 2E  我们可以得出: 1) 符号位:确定。 2) 尾数的位数:确定精度。 3) 指数的位数:确定所能表示的数的范围。...所谓科学计数法,我举一个例子(左移/右移指数的多少位,我们知道二进制中左移一位表示乘以2,右移一位表示除以2,当移动N位时就是2N,N可为也可为)。...指数实际的存储:指数的值可能为负数,如果采用补码表示的话,全体符号位S和Exp自身的符号位将导致不能简单的进行大小比较。正因为如此,指数部分通常采用一个符号的正数值存储。

1.7K20

训练AI要“什么自行车” 只用了1万辆小破车 | ICCV2021 VIPriors

同样的形态、方向和位置很容易导致对上下文敏感的目标检测器检测出缺失部件。如图2所示,是22个部件的图片中平均位置和大小,说明先验的目标绝对位置信息和上下文是有联系的。...自监督模型预训练 目标检测任务中,从开始进行模型训练很难收敛,尤其是在数据量不足的情况下。目标检测比赛中禁止使用除提供的训练数据以外的其他数据,即没有预训练,也没有迁移学习。...如图5所示,对比学习方法是为了学习一个编码器F,从而拉近在特征空间中q和它的样本k+之间的距离,推远q和样本k-之间的距离。...MoCo设定来自同一个张的图片的query和key是样本对,否则为样本对。实验中,为了增强模型的鲁棒性,对同一幅图像随机选择不同的图像增强方法,来生成样本对。...目标检测中,IOU阈值被用来定义样本(positive)与样本(negative),Cascade-RCNN[7]由多个检测器构成,这些检测器通过递增的IOU阈值进行分级训练。

41430

格物致知-Floating Point

答:溢出操作会得到无穷或无穷,下溢操作导致正负,数学上没有明确定义值的操作设置为NaN(不是数字),例如0/0,sqrt(-3),acos(3.0),log(-3.0)。...答:两者都是数字的表示。0.0==-0.0返回true。然而,1/0.0返回无穷,1/-0.0输出无穷。...它始终小数点后打印至少一位数。之后,它根据需要使用尽可能多的数字(但不会很多)来区别最接近的可表示双精度数。 问:使用IEEE 754如何表示,无穷和NaN? 答:通过将所有指数位设置为1。...=所有位0,=所有位0,除了符号位1。 问:使用双精度IEEE标准存储0.1时所表示的确切值是多少。...=y,则z=1/(x-y) 保证始终不会发生除的情况。 答:是的,由IEEE 754保证(使用非规范化数字)。 问:(x>=y) 和 !(x<y) 相同意思吗?

2.1K20

数值信息的机器级存储

为什么两个整数相加之后的结果变成负数? 等等这些类似问题,其实都归咎于 计算机中是如何存储各种类型的数值的。...对于正数加正数的情况而言,可能产生「溢出」。...这就是所谓的「溢出」。 计算机的世界里,只有加法,没有减法。并不是我们设计不出来减法的数字电路,只是加法已经可以完全取代减法,没有必要专门再设计一个减法电路来增加底层电路的复杂程度了。...对于乘法操作而言,大多数计算机都有自己的乘法指令,只不过我们一般不用。原因就是乘法指令非常的慢,耗时。相对于比较快的移位操作而言,编译器通常会将程序中数值的乘法操作优化为多次的移位操作的组合。...其中如果,s 等于 0,则表示无穷,如果 s 等于 1 则表示无穷。 除此之外,如果尾数部分不是全 0,那么当前的浮点数 「NaN」,不是一个数字。

1.3K60

【ML】一文详尽系列之模型评估指标

其另一种解读方式可以是模型将某个随机类别样本排列某个随机类别样本之上的概率。 计算 P-R ? 添加描述 P-R 曲线上的点代表不同阈值下模型将大于阈值的结果视为样本,小于阈值的为样本。...我们以 为例 实际类 实际类 预测类 TP=2 FP=0 预测类 FN=1 TN=1 真阳性率: ? 添加描述 假阳性率: ? 添加描述 即可得到一个点的坐标。...相比 P-R 曲线来说,ROC 曲线有一个很大的特点:ROC 曲线的形状不会随着正负样本分布的变化产生很大的变化, P-R 曲线会发生很大的变化。 ?...添加描述 如上图测试集样本数量增加 10 倍以后 P-R 曲线发生了明显的变化, ROC 曲线形状基本不变。...实际环境中,正负样本的数量往往是不平衡的,所以这也解释了为什么 ROC 曲线使用更为广泛。

81120

打破你的认知,java,除以0一定会崩溃吗?

如果不会输出什么呢? 崩溃吗?如果不会输出什么呢? 崩溃吗?如果不会输出什么呢? 输出日志: ? 为什么浮点数除以0不会崩溃?...我们先说结论: 因为java的float和double使用了 IEEE 754 标准。 这个标准规定:浮点数除以0等于无穷或无穷。 Double类的定义 于是我们打开Double这个类来看看。...翻译成中文: 1.0/0.0 等于无穷大,1.0/-0.0 等于无穷大 于是我们明白,浮点数除以0并不会崩溃,他是 合法的 ,是 符合IEEE 754规范 。...这么骚的操作,我才不会这么干。 是的,这个操作是有点骚,你不会这么干并不代表其他同事不会这么做。而且很可能你这么干了自己不知道。 我们写业务代码的时候,这个知识点,很少很少能用上。...但是当我们刚好遇到除以0导致的bug的时候,这个时候就非常有用。

1.4K10

IEEE 754标准--维基百科

这个标准定义了表示浮点数的格式(包括-0)与反常值(denormal number),一些特殊数值((无穷(Inf)与非数值(NaN)),以及这些数值的“浮点数运算符”;它也指明了四种数值舍入规则和五种例外状况...例如,IEEE 754问世之前就有的C语言,现在包括了IEEE算术,但不算作强制要求(C语言的float通常是指IEEE单精确度,double是指双精确度)。...因为,指数的值可能为也可能为,如果采用补码表示的话,全体符号位S和Exp自身的符号位将导致不能简单的进行大小比较。正因为如此,指数部分通常采用一个符号的正数值存储。...因为,指数的值可能为也可能为,如果采用补码表示的话,全体符号位S和Exp自身的符号位将导致不能简单的进行大小比较。正因为如此,指数部分通常采用一个符号的正数值存储。...浮点数的运算与函数 标准运算 下述函数必须提供: 建议的函数与谓词 精度 二进制,第一个有效数字必定是“1”,因此这个“1”并不会存储。

1.5K30

机器学习算法中分类知识总结!

选择阈值时,需要评估你将因犯错承担多大的后果。例如,将非垃圾邮件误标记为垃圾邮件非常糟糕。不过,虽然将垃圾邮件误标记为非垃圾邮件令人不快,但应该不会让你丢掉工作。...图 3.降低分类阈值 假例数量增加,例数量减少。结果这一次,精确率有所降低,召回率则有所提高: ? ? 我们已根据精确率和召回率指标制定了各种指标。有关示例,请参阅 F1 值。...降低分类阈值导致将更多样本归为类别,从而增加假例和真正例的个数。下图显示了一个典型的 ROC 曲线。 ? 图 4....例与假例的代价存在较大差异的情况下,尽量减少一种类型的分类错误可能至关重要。例如,进行垃圾邮件检测时,你可能希望优先考虑尽量减少假例(即使这会导致例大幅增加)。...如果可能的话,请避免添加校准层。使用校准层的项目往往会对其产生依赖 最终,维护校准层可能令人苦不堪言。 ⭐️ 注意:出色模型的偏差通常接近于。即便如此,预测偏差低并不能证明你的模型比较出色。

56010

计算机组成原理 数据的表示与运算

+ 0.0000000 - 1,1111111所以0的反码整数计算机内部也有两种表示形式列子若机器字长为n+1位,则尾数为n位我们假设机器字长为8位。...,转变为加法-+正负-+-+负负-+补码加减法使用补码进行加法运算,当结果不超过机器的表示范围时,有以下结论:用补码表示的两数进行加法运算,其结果仍为补码;X+Y补=X补土...因此.定点加减运算过程中,必须对结果是否溢出进判断。溢出判断+ 一结果为,称为溢;+ 结果为,称为溢。注意:-->+正负-->+常用的判别溢出方法有以下3种。...(为什么是127? )移127的移码方案中,8位移码结果不再与8位补码存在仅符号位相反的对应关系,其值要通过对阶码实际值加127得到,或将标准移码的值再减1得到。...尾数采用原码表示,对规格化的非0值尾数使用隐藏位技术,即非值的规格化浮点数的尾数最高位始终为1,这一位不予存储,认为隐含在小数点的左边,这是通过左移原来的尾数实现的,故可以使结果的表示精度多一个二进制位

27110

【STM32F407的DSP教程】第8章 DSP定点数和浮点数(重要)

= y) { z = 1 / (x -y); } 正如我们精心选择的两个浮点数展现的问题一样,即使 x 不等于 y,x 和 y 的差值仍然可能绝对值过小,近似为导致除以 0 的情况发生...8.3.3  有符号的 因为 IEEE 标准的浮点数格式中,小数点左侧的 1 是隐藏的,显然需要尾数必须是。所以,也就无法直接用这种格式表达只能特殊处理。 ...原因是如果符号,1 和正负无穷的比值为同一个,然后 1 与 0 的比值为无穷,符号没有了。解决这个问题,除非无穷也没有符号。...有符号也造成了其它问题,比如当 x=y 时,等式1/x = 1/y x 和 y 分别为 +0 和 -0 时,两端分别为无穷和无穷不再成立。...无穷和除 NaN 以外的其它浮点数一样是有序的,从小到大依次为无穷,的有穷非值,正负(随后介绍),的有穷非值以及无穷。

1.3K20

【STM32H7的DSP教程】第8章 DSP定点数和浮点数(重要)

= y) { z = 1 / (x -y); } 正如我们精心选择的两个浮点数展现的问题一样,即使 x 不等于 y,x 和 y 的差值仍然可能绝对值过小,近似为导致除以 0 的情况发生...8.3.3  有符号的 因为 IEEE 标准的浮点数格式中,小数点左侧的 1 是隐藏的,显然需要尾数必须是。所以,也就无法直接用这种格式表达只能特殊处理。 ...原因是如果符号,1 和正负无穷的比值为同一个,然后 1 与 0 的比值为无穷,符号没有了。解决这个问题,除非无穷也没有符号。...有符号也造成了其它问题,比如当 x=y 时,等式1/x = 1/y x 和 y 分别为 +0 和 -0 时,两端分别为无穷和无穷不再成立。...无穷和除 NaN 以外的其它浮点数一样是有序的,从小到大依次为无穷,的有穷非值,正负(随后介绍),的有穷非值以及无穷。

1.4K30

【STM32F429的DSP教程】第8章 DSP定点数和浮点数(重要)

= y) { z = 1 / (x -y); } 正如我们精心选择的两个浮点数展现的问题一样,即使 x 不等于 y,x 和 y 的差值仍然可能绝对值过小,近似为导致除以 0 的情况发生...8.3.3      有符号的 因为 IEEE 标准的浮点数格式中,小数点左侧的 1 是隐藏的,显然需要尾数必须是。所以,也就无法直接用这种格式表达只能特殊处理。 ...原因是如果符号,1 和正负无穷的比值为同一个,然后 1 与 0 的比值为无穷,符号没有了。解决这个问题,除非无穷也没有符号。...有符号也造成了其它问题,比如当 x=y 时,等式1/x = 1/y x 和 y 分别为 +0 和 -0 时,两端分别为无穷和无穷不再成立。...无穷和除 NaN 以外的其它浮点数一样是有序的,从小到大依次为无穷,的有穷非值,正负(随后介绍),的有穷非值以及无穷。

1K20

数值问题

如c语言中可解释为有符号数和符号数, $java$ 中只解释为有符号数。 数值比较时,得确定类型才能比较。通常默认为有符号数相比,若出现符号数,则按照符号数相比。...浮点数(IEEE 754) IEEE 754浮点数标准规定的浮点数格式如上图所示,简要解释如下: 符号位:1表,0表 阶码用移码表示,是一个定点整数,偏置常数是2n - 1,所以单精度的偏置常数位127...逻辑运算的操作数只有 true 和 false,对数值的处理为非即真。...这个数可以十进制下来理解,比如移动一位也就是一位小数的情况下,-2.1,-2.9都要舍入到 -2,应该怎么操作呢?...结果的阶码全 0 表下溢,产生异常或者结果置0 这就能解释前面为什么 (d + f ) - d 不一定等于 f ,d 如果很大,f 很小,対阶时f 看齐d,尾数可能一直右移导致有效位没有了变成了全0,再进行尾数加减时

16300

按持续时间偏移的日期时间

计算数字差异时,以下内容成立: 双精度差是根据 64 位二进制双精度 IEEE 754 算法IEEE 754-2008的规则计算的。下表列出了非有限值、、无穷大和 NaN 的所有可能组合的结果。...表中,x和y是非有限值,z是 的结果x - y。如果x和y相等,z则为。如果x - y太大而无法目标类型中表示,z则是与 具有相同符号的无穷大x - y。...生成的日期x时间与线性时间轴上的距离正好是 的大小y, 的符号相反的方向上y。减去持续时间产生相对于 的时间向后的结果x,减去负值产生时间向前的结果。...通过减去ufrom产生的持续时间添加到 时t必须产生。...下表列出了非有限值、、无穷大和 NaN 的所有可能组合的结果。表中,x和y是的有限值。z是 的结果x * y。如果结果对于目标类型来说太大,z则为无穷大。

2.7K20

深度学习基础知识总结

召回正负样本定义:样本为曝光点击样本,样本为随机采样样本。(曝光未点击样本有偏差) 排序正负样本定义:样本为曝光点击样本,样本为曝光未点击样本。...由于尚未到达归因结束的时间,因此这部分样本随时间推移有可能因为用户的突然转化,变成样本。因此,转化时间以内的样本需要每天更新一次 label。...该类方法在建模中通过显示建模一个成交是否可能发生在观测窗口外的概率 p(d>w_o|y=1)来实现基于观测分布的label纠偏,即: ​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) 该类方法虽然理论上可以实现偏建模...当神经元的激活在接近0或1处时会饱和,在这些区域梯度几乎为0,这就会导致梯度消失,几乎就有没有信号通过神经传回上一层。 Sigmoid函数的输出不是中心的。...存在问题: ReLU单元比较脆弱并且可能“死掉”,而且是不可逆的,因此导致了数据多样化的丢失。通过合理设置学习率,降低神经元“死掉”的概率。

2.6K11

第3章 | 基本数据类型 | 3.1 固定宽度的述职类型

Python 和 JavaScript 中,所有函数都天生如此:函数可以对任何具备该函数所要求的属性和方法的值进行操作。...Option 可选值:或者为 None(值),或者为 Some(v)(有值,其值为 v) Some("Dr."), None Result 可能失败的操作结果:或者为成功值...如果第一个语句中 -4_i32 周围没有圆括号,则 -4_i32.abs() 先针对正值 4 调用 abs 方法,生成正值 4,再根据负号取,得到 -4。...而在发布构建中,运算回绕:它生成的值等于“数学意义上正确的结果”对“值类型范围”取模的值。(在任何情况下都不会像 C 和 C++ 中那样出现“溢出未定义”的行为。)...这些类型包括无穷大和无穷大、不同的值和值,以及非数值。如表 3-8 所示。

7610
领券