斯卡拉。浮点数的奇怪结果

2024-04-23

为什么减法时会得到奇怪的结果2.99999... from 3?

scala> math.sqrt(3)
res0: Double = 1.7320508075688772

scala> math.pow(res0, 2)
res1: Double = 2.9999999999999996

scala> 3 - res1
res2: Double = 4.440892098500626E-16

这是由于浮点精度所致;详细记录在16 位、32 位和 64 位 IEEE-754 系统可以表示什么范围的数字? https://stackoverflow.com/questions/872544/precision-of-floating-point

另外,值得注意的是,完美的计算机不可能用十进制表示 sqrt(3),因为它是无理数的!

您真的认为 sqrt(3) 等于exactly1.7320508075688772?

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

斯卡拉。浮点数的奇怪结果 的相关文章

随机推荐

  • dojo.parser.parse 仅在第一次调用时工作

    我有一个页面 当用户单击某些报告工具的链接时 它首先要求他们输入一些报告参数 我根据链接的 id 使用 AJAX 以表单形式获取参数对话框 每个对话框上都有一些 dojo 控件 因此我需要在对话框出现时解析它们 因为它最初不是页面的一部分
  • 可以在 Mathematica 中扩展 PDF、CDF、FindDistributionParameters 等功能吗?

    我开始使用新的 Mathematica 统计和数据分析功能进行越来越多的工作 我周二参加了 Mathematica 统计与数据分析 在线研讨会 非常棒的演讲 我强烈推荐 但我遇到了一些问题 我希望这个论坛上的人可以花点时间考虑一下 我创建了
  • VSO/VSTS:在主机代理上使用发布构建工件时出错

    使用 发布构建工件 任务时 构建中会引发以下错误 就在 获取源 之后 任务的定义没有与任何匹配的处理程序 由该代理支持 支持的处理程序 AzurePowerShell AzurePowerShellHandler PowerShell Po
  • 创建会话[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要在 php 中创建会话的帮助 我需要一个登录会话 然后如果用户想更改他们的用户名 他们可以但是 我知道如何更改用户名 但使用会话时情
  • 如何在 React App 完成加载之前显示全页加载器/旋转器

    如何制作全页加载器 旋转器 首先加载 然后显示 直到 React 或不同的基于 JS 的框架 应用程序完全加载 完全加载 是指浏览器旋转器停止旋转的那一刻 我正在为非 js 渲染的网站制作这些加载器 旋转器 但我不确定如何为 JS 渲染的应
  • Google 云端点(应用程序引擎)+ oauth2 与 android 集成

    我正在尝试将谷歌应用程序引擎云端点 API 与 android 集成 我已经按照此链接进行了相同的操作 无法使用我的服务对象连接到我的谷歌端点 https stackoverflow com questions 29544723 unabl
  • 你能强制 Vim 在文件末尾显示一个空行吗?

    当我在记事本中打开文本文件时 如果包含文本的最后一行末尾有回车符 则会显示一个空行 然而 在 Vim 中它不显示这个空行 我注意到的另一件事是 Vim 编辑器默认在最后一行添加回车符 即使它没有显示 我可以这么说 因为如果我在记事本中打开在
  • Java流合并或减少重复对象

    我需要通过将所有重复条目合并到一个对象中来从可以具有重复项的列表中生成一个唯一的朋友列表 Example 从不同的社交源中获取好友并放入 1 个大列表中1 朋友 姓名 约翰尼 德普 出生日期 1970 11 10 来源 FB fbAttri
  • 重新排序/重置自动增量主键

    我有一个带有自动增量主键的 MySQL 表 我删除了表格中间的一些行 例如 现在我在 ID 列中有这样的内容 12 13 14 19 20 我删除了 15 16 17 和 18 行 我想重新分配 重置 重新排序主键 以便具有连续性 即将 1
  • 如何在 mongodb 聚合期间有条件地投影字段

    我有一个用户文档 例如 id s0m3Id skills skill1 skill2 现在我想通过以下方式展开此文档 skills字段并为每项技能添加分数 所以我的汇总看起来像 unwind path skills preserveNull
  • Rest 服务器(Play Framework)在负载测试期间出现“Read Timed out”异常

    我们正在使用 Play Framework 在 REST 服务器上运行重负载测试 jmeter 350 个线程 35M 总请求 并在大约 2 小时后遇到以下错误 我们删除了其他组件 以便 request 只是接受请求而不执行任何操作 任何人
  • JSON 行 Mime 类型

    我想知道为 JSON 行设置什么 Content Type http jsonlines org http jsonlines org 我尝试搜索 它并不是真正的 application json 因为整个内容都不是 JSON 每一行都是
  • 如何从Python使用OpenCV的C++函数?

    我正在使用 OpenCV 的 Python 绑定 它真的很棒 但是 C 版本中的某些函数在 Python 绑定 BackgroundSubstractorMOG2 和许多特征检测算法中缺失 从 Python 调用它们的最简单方法是什么 我希
  • 在java中设置按钮点击延迟?

    我有一个保存按钮JFrame 单击 保存 时 保存 文本将设置为 正在保存 我需要在延迟 10 秒后将该文本设置为 已保存 在 java 中这怎么可能 请帮忙 try Thread sleep 4000 catch InterruptedE
  • 使用 Retrofit 2.0.x 进行 HTTP 缓存

    我正在尝试使用 Retrofit 2 0 在我的应用程序中缓存一些响应 但我遗漏了一些内容 我安装了一个缓存文件 如下 private static File httpCacheDir private static Cache cache
  • EF7(Core) 中同一个表的多个关系

    我有这样的模型 public class Question public string Id get set Guid NewGuid ToString public Answer Answer get set public List
  • 在 Scala 中的 List[Either] 上使用 flatMap

    Either从 Scala 2 12 开始是右偏的 这使得它可以在 for yield 块中使用 而无需投影 就像Option 但显然这还不足以表现得像Option当与flatMap object Main def main args Ar
  • 如何使用routing.yml中的参数进行重定向?

    在routing yml中你可以执行以下操作 redirect old url to new pattern old pattern defaults controller FrameworkBundle Redirect urlRedir
  • 是否有可用的 SQL Server 2008 数据库更改管理 (MIgrations) 工具?

    我们正在奔跑塔伦蒂诺 http code google com p tarantino wiki DatabaseChangeManagement在 Nant 构建脚本中 但我们正在获得一些新硬件并利用升级到 SQL Server 2008
  • 斯卡拉。浮点数的奇怪结果

    为什么减法时会得到奇怪的结果2 99999 from 3 scala gt math sqrt 3 res0 Double 1 7320508075688772 scala gt math pow res0 2 res1 Double 2