用于负零浮点值?

2024-01-03

考虑以下 C++ 代码:

double someZero = 0;
std::cout << 0 - someZero << '\n';   // prints 0
std::cout << -someZero << std::endl; // prints -0

问题出现了:负零有什么用处,是否应该防御性地避免它(即使用减法而不是在变量上加上减号)?


来自维基百科:

据称,IEEE 754 中包含有符号零使得在一些关键问题中更容易实现数值精度[1],特别是在使用复杂的初等函数进行计算时[2]。

第一个参考文献是 W. Kahan 的“Branch Cuts for Complex Elementary Functions or Much Ado About Nothing's Sign Bit”,可供下载here https://people.freebsd.org/~das/kahan86branch.pdf.

该论文的一个例子是1/(+0) vs 1/(-0)。在这里,零的符号产生了巨大的差异,因为第一个表达式等于+inf第二个,-inf.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于负零浮点值? 的相关文章

随机推荐

  • Linkedin V1 update-comments-as-company api 抛出 500 错误代码

    我们正在使用 Linkedin v1 apiupdate comments as company代表用户管理的公司页面发布评论的端点 如今 此端点在尝试添加评论时会抛出 500 错误响应 请求示例 curl X POST H Authori
  • 用基本控制器进行 Ninject?

    我想知道当你有一个基本控制器时 如何使用 ninject 2 0 进行构造函数注入 I have private readonly IBaseService baseService public BaseController IBaseSe
  • 自动滚动回收器视图滑块

    我是 Android 开发新手 我正在尝试创建一个自动滚动 recyclerview 滑块 它还支持用户事件 例如下一个和上一个按钮以及手动滚动 Something like this 我已经实现了recyclerview和按钮事件处理 但
  • 抑制tensorflow-metal初始化消息

    我有一台 macbook pro m1 max 并通过安装了tensorflow张量流 苹果 下载 https developer apple com metal tensorflow plugin 每次运行使用 keras 或 tenso
  • 了解 PropertyChanged 机制的工作原理(工作流程)

    澄清 1 我不知道如果它有一个特定的名称或单词来用英语或编程俚语引用它 那么这可能是重复的帖子 因为我无法查看它 2 我对这些东西完全是新手 我从未使用过处理程序 所以这是问题的一部分 我试图理解如何NotifyPropertyChange
  • Javascript 变量未在函数内更新

    let number 100 function change number number number 10 change number console log number 上面的代码输出 100 而 let number 100 fun
  • 神经网络不适合异或

    我创建了一个 Octave 脚本 用于使用反向传播训练具有 1 个隐藏层的神经网络 但它似乎不适合 XOR 函数 x输入 4x2 矩阵 0 0 0 1 1 0 1 1 y输出4x1矩阵 0 1 1 0 theta隐藏 输出层权重 z加权总和
  • 将数组更改为字符串而不创建字符串

    我希望实现 String beef new String 3 beef 0 Water beef 1 Chicken beef 2 Paper String empo Arrays toString beef if empo isEmpty
  • 几秒钟后,应用程序被 ios7 中的操作系统杀死 -edit

    我正在创建基于导航的应用程序iOS 7 为此我正在使用 CoreLocation 框架获取用户位置数据 应用程序要求是在特定时间开始在后台获取用户位置 为此我已经实现了静默推送通知didReceiveRemoteNotification f
  • 不同 Windows 版本上的 Ruby Ocra 可执行致命错误

    我制作了一个非常简单的程序 用于添加和组织一系列书籍作者 标题 我在顶部只有一个要求 这是我创建的模块 代码只是标准的 ruby 没有 gem 或任何实现 require relative pairs2d 我使用 ocra 将其转换为可执行
  • 如何填补 data.frame 中的(日期)空白?

    我有一个带有日期列的数据框 这些日期可以出现多次 但也可以出现零次 date value 1 2013 01 01 5 2 2013 01 01 3 3 2013 01 03 3 4 2013 01 04 3 5 2013 01 04 1
  • linux——同时从文件读取/写入文件[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions Linux 对我来说很陌生 我正在思
  • 在FTP服务器上扩展Python的os.walk功能

    我怎样才能使os walk遍历 FTP 数据库的目录树 位于远程服务器上 现在代码的结构方式是 提供注释 import fnmatch os ftplib def find pattern startdir os curdir find f
  • Selenium 3.0.1 与 safaridriver 在 waitForElementVisible() 上失败

    Safari 10 0 1 macOS 塞拉利昂 运行 Codeception 命令时 I gt waitForElementVisible css gt input type text id UserUsername 30 在 Safar
  • 用于构建 OCA(偶尔连接的应用程序)的工具

    我将构建一个内部的偶尔连接的应用程序 OCA 您建议我采用哪些技术 这是我的参数 NET 商店 3 5sp1 C 代码隐藏 winform wpf 银光 SQL Server 后端 2005 or possibly2008年待批准 独立开发
  • 从控制台从 Elastic Beanstalk 实例之一获取公共 DNS

    我们喜欢直接连接到我们的 Elastic Beanstalk 实例之一 因此我们需要知道它的public IP address 我们通常会得到public IP来自 aws console 网站的 EC2 选项卡的实例 这很麻烦 因为我们需
  • Python Flask - 使用装饰器设置 cookie

    我正在尝试编写一个装饰器来检查 cookie 如果不存在则设置一个 这是我为传达这个想法而做出的绝望尝试 def set cookie f def decorated function args kws if cstc in flask r
  • 嵌套三元运算符

    我有这个代码 viewModel PhoneDefault user null string IsNullOrEmpty user PhoneDay string IsNullOrEmpty user PhoneEvening string
  • 为什么 C# 数组没有 Count 属性? [复制]

    这个问题在这里已经有答案了 可能的重复 集合中的计数 长度 大小 https stackoverflow com questions 300522 count vs length vs size in a collection 真的很奇怪
  • 用于负零浮点值?

    考虑以下 C 代码 double someZero 0 std cout lt lt 0 someZero lt lt n prints 0 std cout lt lt someZero lt lt std endl prints 0 问