计算机的错误计算(二百二十六)

摘要 前面(二十七)等谈到,对于 \\exp(x) 函数,若 \|x\|\>1, 则数学库函数的结果中一般含有约 "x 的整数位数"位错误数字。本文再探讨之。

本文是给一位研一学生的回复。

例1. 利用 Python、C、Java、C# 计算 \\exp(650.98);从而进一步验证错数理论。

首先,利用 ISReal在线服务 给出正确结果:0.5212209090956856e283。

其次,贴图给出 Python 3.12.10 的输出:

然后,通过 在线网站 给出C代码、Java、C# 的计算结果:

从上看到,4个输出均为 5.212209090956951e282。这样,最后3位红色数字是错误数字。因此,该例4个输出结果完美印证了错数理论:由于 x=650.98 有3位整数,所以数学库函数的输出中有3位错误数字。

例2. 计算 \\exp(2345.67),验证错数理论。

由于 2345.67 比较大,所以普通库函数会溢出。这里,我们选 Python 的 mpmath 库进行计算。

下面是计算的截图:

从上面可以看出,Python 的计算结果为 5.1468008735812e+1018;而正确结果是 0.5146800873580827e1019 (ISReal在线服务 提供)。这样,Python 有12位正确数字,4位错误数字。

这正印证了错数理论:2345.67有4位整数,因此 Python的输出中含有4位错误数字。​​​​​

相关推荐
用户83562907805112 小时前
Python 实现 PDF 文件加密与解密方法
后端·python
用户83562907805112 小时前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
karry_k13 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k13 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
SamDeepThinking16 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
她的男孩19 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
你好潘先生20 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
Agent_大师21 小时前
WebSocket 行情重连成功,K线缺口不会自动消失
python
荣码21 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python