首页 > 编程语言 >《程序是怎样跑起来的》计算机在计算小数时会出错的原因

《程序是怎样跑起来的》计算机在计算小数时会出错的原因

时间:2024-02-17 22:12:11浏览次数:28  
标签:计算机 表示法 浮点 出错 格式 时会 小数

一,原因
无法准确表示的值,就只能用近似值来表示计算机能力有限,无法处理无限小数,只能根据变量所对应的数据类型的数,采取四舍五入处理法进行处理。由于二进制为近似数,转化为十进制后与所求值存在误差,它是一种正常的现象。
二,浮点数
分类:双精度浮点类型有64位
单精度浮点类型有32位
格式:±m×ne次方
双精度浮点类型:有符号位一位指数位11位尾数位有52位
单精度浮点类型:符号位一位指数位八位尾数位有23位
三,规格化表示法和移码表示法
格化表示法的作用:将表示形式不一致的浮点数,统一的形式进行表示
阿表示法的特点:不使用符号,未来表示负数
程序确认:
例:0.75

0-01111110-10000000000000000000000
↓ ↓ ↓
正 126-127=-1 1×2的零次方加1×2的负一次方等于1.1
四,避免出错
原因:浮点处理小数
存在溢出的情况
方法:忽略错误[适用于可以忽略微小误差的情况]
用整数替代小数[Bcd格式是一种适用于不允许有金钱误差的金融领域的一种方式,格式就是这种方式]
五,十六进制
16进制相较于二进制会更加的简略,更加的方便计算机读取,会增加计算机读取的效率。

标签:计算机,表示法,浮点,出错,格式,时会,小数
From: https://www.cnblogs.com/sunshaohan/p/18018528

相关文章

  • 第3章计算机进行小数运算时出错的原因
    使用二进制数表示小数与二进制表示整数类似,二进制表示小数部分的转换方法也是小数位各数值乘以位权相加表示例如将1011.0011二进制小数转换为十进制数,转换过程如下规律:0次方前面的位的位权按照1,2,3方式向左高位递增(小数点前)0次方后面的位的位权按照﹣1,-2,-3方式向右低位递减(小......
  • 计算机进行小数运算时出错的原因
       首先计算机计算也是会出现错误的,比如0.1累加100次应该为10,但若用计算机运算却得出的结果为10.000002,如图所示:   但为什么会出现错误计算呢?这是因为有一些十进制的小数无法转换成二进制数。或许先了解如何用二进制数表示小数更容易明白为什么无法转换。首先对于正......
  • 第3章 计算机进行小数运算是出错的原因读后感
    计算机进行小数运算是出错的原因读后感在《程序是怎样跑起来的》这本书的第三章中,我找到了对于计算机进行小数运算时出错原因的解答。这一章节深入地探讨了计算机处理小数的细节,以及浮点数运算中可能出现的误差和......
  • 第三章:计算机进行小数运算时出错的原因
    在阅读《程序是怎样跑起来的》第3章“计算机进行小数运算时出错的原因”后,我深刻地认识到了计算机在进行浮点数运算时的局限性和潜在风险。这一章内容让我明白了,为什么在实际编程过程中,我们经常会遇到浮点数运算的误差问题。首先,我了解到计算机使用二进制来表示所有的数据,包括浮......
  • 第三章——计算机进行小数运算时出错的原因
    在使用小数运算时计算机也会出错,这是因为有些十进制的小数无法转换为二进制数———例如二进制数0.0000对应的十进制数是0,二进制数0.0001对应的十进制数为0.625,由此得之二进制数是连续的而十进制数不是连续的,那十进制数0~0.625之间的数就无法用二进制数表示,进而出现错误。那实际......
  • 第k小数字
    importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassMain{publicstaticintquickSort(int[]arr,intl,intr,intk){if(l==r){returnarr[l];}//划分为左边......
  • 缩小数据范围——nc2.4多校_A.新春游戏之数学系列
    目录问题概述思路分析参考代码做题反思问题概述原题参考A.新春游戏之数学系列大致就是给出一个数组,要求求出一个公式的值,有几个数据范围值得注意一下,一是数组的长度为[0,1e6],二是数组元素的和不超过5e7思路分析赛时第一眼准备去分析公式看看有没有可以优化的,用前缀拆分优化......
  • [office] Excel多表数据出错怎么办
    Excel多表数据出错怎么办用个例子说话:下面的这个Excel工作簿是向员工发放工资通知的原始表集合,Sheet1到Sheet4从分别保存4个不同部门的员工记录,这些员工均住在“万寿南路”,但由于录入人员的疏忽,统统都输成了万寿路,虽然缺少一个字,但所有表格的地址都错了。现在需要快速地将所有......
  • 计算机进行小数运算时出错的原因
    看完第三章之后我知道了运算出错的原因是有一些十进制数的小数无法转换成二进制数还有就是小数是使用浮点数表示,浮点数是指符号尾数基数和指数这四个部分组成浮点数的表示右很多种其中最为普遍的是IEEE标准符号部分是指使用一个数据位来表示数值的符号;位数部分使用的是正则表达......
  • 计算机在计算小数时会出错的原因
    一:计算机在计算小数时可能会出现错误,原因有以下几点:1.采用浮点数来处理小数,会存在计算出错的可能性,无论是使用单精度浮点数还是双精度浮点数1。2.有些十进制的小数无法正确地转换成二进制,因此无法在计算机中准确表示23。3.计算机只能用有限的状态去和无限的需要表现的数去一一......