为什么我的 double 可以包含低于机器 epsilon 的值?

2023-12-02

我正在使用双精度求解方程,我得到-7.07649e-17作为解决方案而不是0.

我同意它足够接近,我可以说它是相等的,但是我读到 C++ 双精度类型的机器 epsilon 是2^-52这比我得到的值要大。

那么为什么我的值比机器 epsilon 低呢? 为什么该值不四舍五入为零?

这没什么大不了的,但是当我进行逻辑测试时,我的值似乎不为零......


这个故事中有两个不同的常数。其中之一是 epsilon,它是一个最小值,与 1.0 相加时会产生与 1.0 不同的值。如果在 1.0 上添加一个较小的值,您将再次得到 1.0,因为计算机中数字的表示存在物理限制。但有些值小于 epsilon 且大于零。最小的这样的数字double你得到std::numeric_limits<double>::min.

作为参考,您可以得到 epsilonstd::numeric_limits<double>::epsilon.

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

为什么我的 double 可以包含低于机器 epsilon 的值? 的相关文章

随机推荐

  • 使用客户端证书进行智能卡身份验证

    我有一个第三方 Web 应用程序 现在我的经理想要将智能卡身份验证添加到某些页面 而不是整个应用程序 并返回证书信息 我的想法是向这些页面添加按钮 并在onclick事件中 我将进行客户端证书身份验证 其中将出现一个证书选择窗口 后跟 PI
  • Vuetify:使 v-navigation-drawer 占据左上角的所有空间,而不是 v-app-bar

    我有一个 VuetifyJS v3 页面 其中包含v app bar and v navigation drawer两者都在场 并且都与app道具集 这v app bar占据从左上角延伸的所有水平空间 这v navigation drawe
  • 捕捉表格图像

    我有一个带有控件的表单 我需要捕获该表单以进行图像处理 请帮我 谢谢 Control cntrl previously declared and populated Bitmap bmp new Bitmap cntrl Width cnt
  • 在 C++ 项目中使用 clang 作为库

    我正在尝试使用 clang 作为库 但我不确定如何链接 Makefile 中的文件 尝试以下位置的 ASTVisitor 代码 https clang llvm org docs RAVFrontendAction html 这是我的Mak
  • Vimeo 上传 API - 尝试删除票证时出现“无效状态”错误

    我按照官方 Vimeo Upload 文档一步步操作 可断点续传的 HTTP PUT 上传 但在最后一步 删除了上传链接 我总是收到 HTTP 500 无效状态 响应 什么使所有过程无效 我已经尝试了一切但没有成功 相关问题 Vimeo A
  • SSIS C# 脚本不兼容

    我最近接管了基于 SSIS ETL 的流程 由于一些许可问题 我不得不从 Data Tools 2013 升级到 2015 大部分项目都在升级中幸存下来并且运行良好 然而 在两个包中 我有一个非常简单的 C 方法 脚本转换 来解析一些导致一
  • 何时使用接口而不是抽象类,反之亦然?

    这可能是一个通用的 OOP 问题 我想根据接口和抽象类的用法对它们进行一般比较 什么时候需要使用接口 什么时候需要使用抽象类 我写了一篇关于此事的文章 抽象类和接口 总结 当我们谈论抽象类时 我们正在定义对象类型的特征 指定物体是什么 当我
  • AngularJS:循环 POST 请求并将每个索引传递到相关响应中

    我正在尝试使用 AngularJS 执行多个 http POST 请求 并且我需要创建一个成功完成请求的对象 如下所示 var params 1 2 3 url i done for i in params url dir params i
  • 为 StackPane 对象创建具有绝对坐标的路径过渡

    OrangeBlock是一个橙色块 里面有文字 它被实现为StackPane其中包含矩形顶部的文本 这种方法在StackPane 的文档 我已经放置了一个OrangeBlock在坐标 100 80 处 现在我正在尝试使其顺利移动到某个目标坐
  • 如何从远程 url 下载 mp3 文件?

    我将我的网站重定向到一个只有 mp3 文件正在流式传输的 URL 并且我希望将该文件下载到本地计算机 我怎样才能做到这一点 我已经搜索过 google 和 stacksoverflow 但这些解决方案对我不起作用 我找不到针对我的具体问题的
  • 甲骨文声明

    表记录如下 D HOME DOC FILE 2001 12 TT 12S2Q99 EE EE1 pdf D HOME DOC FILE 2002 02 TT 12S2Q94 EE EE1 xml D HOME DOC FILE 2005 0
  • 更改滚动图像

    我的网站上有一个固定图像 该图像应该是 动画的 这意味着动画的单个帧应该被迭代 因此 我们的想法是拥有一个图像数组 每次用户滚动时 都会迭代该数组并且显示的图像会发生变化 从而创建动画 我不太习惯使用 JS 因此我真的不知道从哪里开始 我唯
  • 如何在Delphi 7中获取GIT?

    我试图使用以下代码 Delphi 获取全局接口表 uses Comobj ActiveX var cGIT IGlobalInterfaceTable NIL const CLSID StdGlobalInterfaceTable TGUI
  • 正则表达式匹配字符串最后一次出现后的所有内容

    正在努力寻找一种方法来做到这一点 因此感谢任何帮助 在单行上有简单的文本 并希望匹配最终之后的所有文本 tag 我在 Open Office 中使用正则表达式 所以我需要返回直接匹配而不是 JavaScript 数组 字符串看起来像这样 p
  • Python 中使用正则表达式进行字数统计

    使用正则表达式计算文档中英文单词的正确方法是什么 我尝试过 words re findall w open text txt read lower len words 但我似乎遗漏了几个单词 与 gedit 中的字数相比 我做得对吗 多谢
  • 如何用haml每隔几个div插入一个块?

    我想插入一个div row每三个街区wrap three span一起完成以下 haml 片段 但是这段代码插入了一个 div class row div 而不是包裹 span4 data apps applications each wi
  • Structr、现有 Neo4j 安装和 cypher shell

    我的 Windows 7 机器上有以下安装 Neo4j 社区版 3 1 0 结构 ui 2 0 1 我首先安装了 Neo4j 然后安装了 Structr UI 我能够运行 Structr UI 并创建架构 添加节点和关系 我有以下问题 我猜
  • Wix Burn - 自定义模板

    有没有办法改变安装程序中红色的 CD 图片 这是 Burn 项目的代码
  • HDFS Thrift服务器返回本地FS的内容,而不是HDFS

    我正在使用 Thrift 访问 HDFS 这是 HDFS 上预期的 也是正确的 内容 hadoop hdp namenode 01 hadoop fs ls Found 3 items drwxr xr x hadoop supergrou
  • 为什么我的 double 可以包含低于机器 epsilon 的值?

    我正在使用双精度求解方程 我得到 7 07649e 17作为解决方案而不是0 我同意它足够接近 我可以说它是相等的 但是我读到 C 双精度类型的机器 epsilon 是2 52这比我得到的值要大 那么为什么我的值比机器 epsilon 低呢