首页 > 其他分享 >计算机的错误计算(四十二)

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

时间:2024-07-27 21:57:50浏览次数:10  
标签:误差 相消 数字 有效数字 计算机 错误计算 四十二 相减

摘要  计算机的错误计算(四十一)展示了 PyTorch 库的矩阵乘积的结果的精度问题。 本节指出精度损失的部分原因是相减相消。

       不可否认,表示误差会导致计算误差。然而,表示误差一般来说会使得数值具有一定的精度。例如,在单精度浮点数下,通常可以保证约 8位有效数字,而后面的数字一般认为不能保证是正确的。

       当两个相近的数进行相减时,前面的数字可能会相互抵消,从而导致结果的有效数字减少。这种情况下,结果的有效数字可能不足 8位,因此需要补充后面的数字。然而,这些补充的数字并不能保证其准确性。

       在计算机的错误计算(四十一)中,Y[1,1]与 Y[1,4]就属于这种情形。

       下面我们复原它们的计算过程。

Y[1,1]=\sum\limits_{i=0}^{i=2} W[1,i]\times X[i,1]\\=5.684312820434570\times(-5.663175106048584)\\-10.845223426818848\times(14.565025329589844)\\-13.985954284667969\times(-12.904350280761719)\\ =-0.3219125885967787157988241314888e2\\ -0.157960953916677688981569528579712e3\\ +0.180479653100075672583944320678711e3\\ =-0.190152212776355560561451941728592e\textcolor{red}{3}\\ +0.180479653100075672583944320678711e\textcolor{red}{3}\\ =-0.\underbrace{\textcolor{red}{00}\textcolor{blue}{967255}}_{\textup{8 digits}}9676279887977507621049881e\textcolor{red}{3}\\ \approx -0.\underbrace{\textcolor{blue}{967255}\textcolor{red}{97}}_{\textup{8 digits}}e\textcolor{red}{1}\,, \\ Y[1,4]=\sum\limits_{i=0}^{i=2} W[1,i]\times X[i,4]\\ =5.684312820434570\times(-15.091076850891113)\\-10.845223426818848\times1.918694257736206\\-13.985954284667969\times(-7.184800624847412)\\ =-0.8578240161768371131706041097641e2\\ -0.20808667912903501995120532810688e2\\ +0.100486293083569762796291708946228e3\\ =-0.106591069530587213312180943787098e\textcolor{red}{3}\\ +0.100486293083569762796291708946228e\textcolor{red}{3}\\ =-0.\underbrace{\textcolor{red}{00}\textcolor{blue}{610477}}_{\textup{8 digits}}644701745051588923484087e\textcolor{red}{3}\\ \approx -0.\underbrace{\textcolor{blue}{610477}\textcolor{red}{64}}_{\textup{8 digits}}e\textcolor{red}{1}\,.

       从上可看出,两个均是发生了相减相消:均是两个 3位整数的相近数相减,抵消掉 2位整数,即变成了“00”。这时不得不从后面添加 2位数字。而这 2位数字是由不可靠的数字相减获得,从而也不能保证正确。这样,在 8位有效数字的输出中,产生了 2位错误数字。

       上面计算过程虽然是在十进制下完成,但是,对计算机的二进制运算也有效。因为表示误差一般是影响后面的数字,不会是前面的数字(起码对本节内容属实)。若是影响到了前面的数字,那说明误差太大了,那就另当一说。

       总结一下:表示误差使得后面的数字错误,相减相消将这些错误数字挪到了前面。再透彻一点,假设 2个 有 n位整数的数相减,得到的差有 n-m 位整数,那么结果中有约 m位错误数字。

       有关相减相消内容,可以参考计算机的错误计算(十七)

标签:误差,相消,数字,有效数字,计算机,错误计算,四十二,相减
From: https://blog.csdn.net/zaim1/article/details/140648360

相关文章

  • 计算机Java项目|基于SpringBoot的智能无人仓库管理的设计与实现
    作者主页:编程指南针作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与......
  • ssm+vue4s店汽车销售管理系统【开题+程序+论文】-计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着汽车行业的蓬勃发展,4S店(集整车销售、零配件、售后服务、信息反馈四位一体的汽车销售服务企业)作为汽车销售与服务的重要渠道,其管理效率与服务质量......
  • ssm+vueAndroid共享停车位【开题+程序+论文】-计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速,私家车数量急剧增加,停车难问题日益凸显,尤其是在繁华商业区、医院、学校等热点区域,停车位供需矛盾尤为突出。传统的停车管理模式......
  • 计算机毕业设计SpringBoot+vue的洗衣店客户管理信息系统
    随着人们生活水平的提高,人们的衣物越来越多,而时间精力却越来越少,于是洗衣店的需求正在急剧增加,洗衣店有着很大的发展潜力,但根据对洗衣店的现状和需求调查研究表明,目前国内的洗衣店的发展仍然落后于市场的需求。减轻家务劳动的压力,寻求专业便捷的洗衣服务已经成为大多数人的选择......
  • 计算机组成与体系结构-校验码
    奇偶校验码奇偶校验是一种简单有效的校验方法,这种方法通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),只能发现奇数个数据位出错的情况.循环冗余校验码CRC(CyclicRedundancyCheck)循环冗余校验是一种常用的错误检测技术,用于在数据传输过程中......
  • 计算机组成与体系结构-浮点数表示
    定点数:是一种在计算机中表示和处理实数的方法,其中,小数点的位置是固定的,不会随着数值的大小而变化。浮点数:是计算机中用于表示实数的一种数据类型。小数点位置浮动浮点数表示阶码(指数部分):决定了浮点数可以表示的范围。阶码越长,可以表示的指数范围就越大尾数(有效数......
  • 计算机组成与体系结构-I/O数据传输
    I/O设备与主机数据传输早期计算机的I/O种类比较少,与主存交换信息都是通过CPU,而现代计算机的I/O种类较多,如果使用这种方式会使CPU的效率大大降低,如果想要提高资源利用率,那么我们就必须引入一些机制,来让整个机器工作效率变高程序查询方式由CPU通过程序不断查询1/0设备是否已做好......
  • 计算机组成与体系结构-cache
    概念Cache,高速缓冲存储器。是解决CPU与主存之间速度不匹配而采用的一项重要技术,位于主存与CPU之间,由静态存储芯片(SRAM)组成,容量比较小,Cache存储了频繁访问的内存数据命中率CPU欲访问的信息已在Cache中的比率,设在一段程序执行期间cache完成存取次数为NC,主存完成存取次数为m,h定......
  • 计算机网络第二讲 物理层
    计算机网络第二讲物理层考点一:物理层通信1.传输媒体介质通信模式2.物理层的功能考点二:编码与调制1.通信基础2.编码与调制码元:一个波形波特=码元波形不同->含义不同->码元是携带信息的约定->编码考点三:物理层带宽计算1.码和波特率2.信道的......
  • 计算机网络第三讲 数据链路层
    计算机网络第三讲数据链路层第一节:数据链路层功能1.概述2.数据链路层的功能封装成帧透明传输差错控制实现无比特差错不是可靠传输丢失,乱序,重复无法解决......