计算机的错误计算(三十四)

摘要  用错数预测 a^x(或 pow(a,x))函数的结果中含有的错误数字的个数,并与Visual Studio 和Excel 的输出中含有的错误位数相比较。结果显示,预测与实际一致。

       对于 a^x(或 pow(a,x))函数,根据 a与 x的不同,有多种计算算法。其中一种计算方法是利用等价公式 e^{x\ln(a)} 来计算。

例1.  假设计算机利用 e^{-99.88\times\ln(90)} 计算 90^{-99.88} ,请预测计算机的输出中可能存在的错误数字个数。

       计算机首先计算 (-99.88)\times\ln(90) 的值,然后计算 e^{(-99.88)\times\ln(90)}

       根据计算机的错误计算(二十七)知,前者即自变量的错误数字个数会影响到后者即函数值的结果的错误数字个数。具体有关系:j-k\approx m+m_1-m_2\,.  其中 等号左边的 2个变量依次表示函数值与自变量的错误数字个数,右边 3个变量依次代表导数、自变量以及函数值的扩展整数位数(扩展的意思是可以为任意整数)。

       对于函数 e^x 来说,其导函数不变,因此,m=m_2\,.  这时,上式变成了 j-k\approx m_1\,, 即 j\approx k+m_1\,.  它意味着函数值的结果的错误数字个数约等于自变量的错误数字个数与自变量的整数位数的和。

       下面给出计算机计算自变量 (-99.88)\times\ln(90) 值的过程,以便获得上述两个值 k 与 m_1\,.

(-99.88)_{10}\times\ln((90)_{10})\\ \approx (-\underbrace{1100011.1110000101000111101011100001010001111010111000}_{\textup{53 bits}})_2\\\times\ln((1011010)_2)\\ =(-99.8799999999999954525264911353588104248046875)_{10}\\\times\ln((90)_{10})\\ =(-99.8799999999999954525264911353588104248046875)_{10}\\\times(4.499809670330265066808481928529415616896...)_{10}\\\approx (-99.8799999999999954525264911353588104248046875)_{10}\\\times(\underbrace{100.01111111111100111000011011001100010010110000010000}_{\textup{53 bits}})_{2}\\= (-99.8799999999999954525264911353588104248046875)_{10}\\\times(4.4998096703302650212208391167223453521728515625)_{10}\\= (-449.4409898725868498567721402184132729378729...875)_{10}\\\approx (-111000001.01110000111001001011011001011000101000001011)_2\\= (-\underbrace{\textcolor{blue}{449.440989872586}\textcolor{red}{\,8}}_{\textup{16 digits}}4019252541474997997283935546875)_{10}\,.

这样,上述蓝色与红色数字的组合为双精度下 16位的结果;而其整数位数为 3位,即 m_1=3\,.

       另外,由 ISReal 软件 可得 16位的正确结果是 -\textcolor{blue}{449.440989872586}\textcolor{red}{\,9}\,.  通过比较上述计算值与真实值,容易看出只有两个红色数字不同,因此 k=1。于是,若利用 e^{(-99.88)\times\ln(90)} 计算 90^{-99.88},则计算机的输出中会有约 j\approx k+m_1=1+3=4 位错误数字。 

例2.  在 Windows 10下,利用 Excel 2019MSO 以及 Visual Studio 2010 计算 90^{-99.88} 的值。

       首先, 由 ISReal 软件 知,16位正确的近似值为 6.46038138673\textcolor{red}{\,4883}\textup{\,e}-196\,.

     (1)在 Excel 的单元格中分别输入:

=\textup{EXP}(-99.88*\textup{LN}(90))\\ =\textup{POWER}(90,-99.88)

则输出的结果完全相同,并均有 4位错误数字。

       下面是它们的贴图:

上面是第1张图.

上面是第2张图.

     (2)在 Visual Studio 2010中运行下列两条语句

 printf("\%.15e",exp(-99.88*log((double)90)));\\ printf("\%.15e",pow((double)90,(double)-99.88));

则输出分别为 6.460381386735107e-196 与 6.460381386735015e-196.

       于是,两个结果同样均有 4位错误数字。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/46196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.RabbitMQ安装-Centos7

官方网址:gInstalling RabbitMQ | RabbitMQ 安装前提,需要一个erlang语言环境。 下载 erlang: Releases rabbitmq/erlang-rpm GitHub rabbitmq-server: 3.8.8 Releases rabbitmq/rabbitmq-server GitHub 安装命令 (说明i表示安装&#xff…

SCI一区级 | Matlab实现SSA-CNN-GRU-Multihead-Attention多变量时间序列预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.【SCI一区级】Matlab实现SSA-CNN-GRU-Multihead-Attention麻雀算法优化卷积门控循环单元融合多头注意力机制多变量时间序列预测,要求Matlab2023版以上; 2.输入多个特征,输出单个…

一文掌握Prometheus实现页面登录认证并集成grafana

一、接入方式 以保护Web站点的访问控制,如HTTP 服务器配置中实现安全的加密通信和身份验证,保护 Web 应用程序和用户数据的安全性。 1.1 加密密码 通过httpd-tools工具包来进行Web站点加密 yum install -y httpd-tools方式一:通过htpasswd生…

智慧物流园区整体架构方案(46页PPT)

PPT介绍 将深入探讨如何通过高度集成的信息技术和物联网设备,打造一个自动化、高效与可持续发展的现代物流体系。该方案从智能感知层开始,利用传感器、RFID技术、GPS等手段实时采集物流数据;接着是网络传输层,借助高速且稳定的通信…

姓名配对测试源码

源码简介 姓名配对测试源码,输入两人姓名即可测试缘分,可查看朋友到底喜欢谁的趣味源码。 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查…

C++ map和set的使用

目录 0.前言 1.关联式容器 2.键值对 3.树形结构的关联式容器 3.1树形结构的特点 3.2树形结构在关联式容器中的应用 4.set 4.1概念与性质 4.2使用 5.multiset 5.1概念与性质 5.2使用 6.map 6.1概念与性质 6.2使用 7.multimap 7.1概念与性质 7.2使用 8.小结 &a…

Spring MVC 中 HttpMessageConverter 转换器

1. Spring MVC 中 HttpMessageConverter 转换器 文章目录 1. Spring MVC 中 HttpMessageConverter 转换器2. 补充:什么是 HTTP 消息3. 转换器3.1 转换器转换的是什么 4. Spring MVC中的 AJAX 请求5. ResponseBody 将服务器端的 return 返回值转化为“字符串(JSON格式…

rtf是什么格式的文件?rtf格式和word的区别是什么?

RTF是什么格式的文件? RTF(富文本格式,Rich Text Format)和Word文档(以.doc和.docx为扩展名的Microsoft Word文档)是两种常用的文本文件格式。它们在文件结构、兼容性、功能和使用场景等方面存在一些显著差异。 比如…

arcgis怎么选取某个指定区域地方的数据,比如从全国乡镇数据选取长沙市乡镇数据

一共5个步骤,没一句废话,耐心看完。 1、如图,先将数据加载到arcgis里面,我们要选取里面长沙市的范围数据。 2、选取长沙市的语句 “市” like ‘长沙%’ 切记,切记,切记。所有符号要在 输入法英文状态…

微信小程序 vant-weapp的 SwipeCell 滑动单元格 van-swipe-cell 滑动单元格不显示 和 样式问题 滑动后删除样式不显示

在微信小程序开发过程中 遇到个坑 此处引用 swipeCell 组件 刚开始是组件不显示 然后又遇到样式不生效 首先排除问题 是否在.json文件中引入了组件 {"usingComponents": {"van-swipe-cell": "vant/weapp/swipe-cell/index","van-cell-gro…

电脑系统重装数据被格式化,那些文件还有办法恢复吗?

在日常使用电脑的过程中,系统重装或格式化操作是常见的维护手段,尤其是在遇到系统崩溃、病毒感染或需要升级系统时。然而,这一操作往往伴随着数据丢失的风险,尤其是当C盘(系统盘)和D盘(或其他数…

linux|多线程(一)

主要介绍了为什么要有线程 和线程的调用 和简单的对线程进行封装。 背景知识 a.重谈地址空间 我们知道物理内存的最小单元大小是4kB 物理内存是4G那么这样的单元友1M个 操作系统先描述再组织struct page[1M] 对于32位数据字长的机器,页表有2^32条也就是4G条&#…

LabVIEW Communications LTE Application Framework 读书笔记

目录 硬件要求一台设备2台USRPUSRP-2974 示例项目的组件文件夹结构DL Host.gcompeNodeB Host.gcompUE Host.gcompBuildsCommonUSRP RIOLTE 操作模式DLeNodeBUE 项目组件单机双机UDP readUDP writeMAC TXMAC RXDL TX PHYDL RX PHYUL TX PHYUL RX PHYSINR calculationRate adapta…

R语言优雅的把数据基线表(表一)导出到word

基线表(Baseline Table)是医学研究中常用的一种数据表格,用于在研究开始时呈现参与者的初始特征和状态。这些特征通常包括人口统计学数据、健康状况和疾病史、临床指标、实验室检测、生活方式、社会经济等。 本人在既往文章《scitb包1.6版本发…

无人机之机型区别与应用领域

一、多旋翼无人机 特点:多旋翼无人机依靠产生升力以平衡飞行器的重力,通过改变每个旋翼的转速来控制飞行姿态,能够悬停和垂直起降。他们具备体积小、重量轻、噪音小、隐蔽性好的特点,操作灵活且易于维护。 应用:多旋…

uni-app:文字竖直排列,并且在父级view中水平竖直对齐

一、效果 二、代码 <template><view class"parent"><text class"child">这是竖直排列的文字</text></view> </template> <script>export default {data() {return {}},methods: {},}; </script> <sty…

Ubuntu 24.04安装Jellyfin媒体服务器图解教程

使用 Jellyfin 等开源软件创建媒体服务器肯定能帮助您管理和跨各种设备传输媒体集合。当你有一个封闭社区时&#xff0c;这尤其有用。 什么是 Jellyfin 媒体服务器&#xff1f; Jellyfin 媒体服务器&#xff0c;顾名思义&#xff0c;是一款开源软件&#xff0c;允许用户使用本…

鼠标的发明和鼠标“变形记”

注&#xff1a;机翻&#xff0c;未校对。 Who Invented the Computer Mouse? 谁发明了电脑鼠标&#xff1f; It was technology visionary and inventor Douglas Engelbart (January 30, 1925 – July 2, 2013) who revolutionized the way computers worked, turning it fr…

Flink源码学习资料

Flink系列文档脑图 由于源码分析系列文档较多&#xff0c;本人绘制了Flink文档脑图。和下面的文档目录对应。各位读者可以选择自己感兴趣的模块阅读并参与讨论。 此脑图不定期更新中…… 文章目录 以下是本人Flink 源码分析系列文档目录&#xff0c;欢迎大家查阅和参与讨论。…

用 WireShark 抓住 TCP

Wireshark 是帮助我们分析网络请求的利器&#xff0c;建议每个同学都装一个。我们先用 Wireshark 抓取一个完整的连接建立、发送数据、断开连接的过程。 简单的介绍一下操作流程。 1、首先打开 Wireshark&#xff0c;在欢迎界面会列出当前机器上的所有网口、虚机网口等可以抓取…