首页 > 编程语言 >《程序是怎样跑起来的》读后感——第三章 计算机进行运算小数时出错的原因

《程序是怎样跑起来的》读后感——第三章 计算机进行运算小数时出错的原因

时间:2024-02-17 22:22:19浏览次数:22  
标签:读后感 运算 误差 二进制 计算机 浮点数 出错 小数

一、二进制的限制
计算机内部所有的信息都是以二进制的形式存储和处理的。然而,并非所有的十进制小数都能被精确地用二进制表示。例如,0.1在十进制中是一个无限循环小数,但在二进制中却无法精确表示,只能进行近似表示。这种差异导致了计算机在运算小数时可能出现误差。

二、浮点数表示法的限制

计算机通常采用浮点数表示法来表示小数。然而,浮点数的精度是有限的,它只能表示一定范围内的小数,且无法精确表示所有的小数。这种限制导致了计算机在运算小数时可能出现误差。

三、解决办法

1、使用高精度库

为了解决计算机在运算小数时可能出现的误差,我们可以使用高精度库,如Python的Decimal库或Java的BigDecimal类。这些库提供了高精度的小数运算功能,可以避免因二进制与十进制的差异以及浮点数表示法的限制导致的误差。

2、选择适当的数值范围和数据类型

在进行小数运算时,我们应该选择适当的数值范围和数据类型,以避免超出浮点数的精度范围。例如,在需要高精度运算的场合,我们可以选择使用双精度浮点数(double)而不是单精度浮点数(float)。

3、采用数值稳定算法

在进行小数运算时,我们可以采用数值稳定算法来减少误差的积累。例如,在进行连加运算时,我们可以采用逐次累加的方法,而不是一次性将所有数值相加。这样可以减少误差的积累,提高运算的精度。

四、结论

计算机在运算小数时出错的原因主要来自于二进制与十进制的差异以及浮点数表示法的限制。为了解决这些问题,我们可以采用高精度库、选择适当的数值范围和数据类型以及采用数值稳定算法等方法来减少误差的产生。在实际应用中,我们应该根据具体的需求和场景选择合适的解决办法,以确保小数运算的准确性和可靠性

标签:读后感,运算,误差,二进制,计算机,浮点数,出错,小数
From: https://www.cnblogs.com/AB34/p/18018546

相关文章

  • 《程序是怎样跑起来的》计算机在计算小数时会出错的原因
    一,原因无法准确表示的值,就只能用近似值来表示计算机能力有限,无法处理无限小数,只能根据变量所对应的数据类型的数,采取四舍五入处理法进行处理。由于二进制为近似数,转化为十进制后与所求值存在误差,它是一种正常的现象。二,浮点数分类:双精度浮点类型有64位单精度浮点类型有32位......
  • 程序是怎样跑起来的第六章读后感
    从第六章学到了节约内存的编程方法。了解磁盘的物理结构,磁盘的物理结构是指磁盘存储数据的形式。磁盘是通过把其物理表面划分成多个空间来使用的。划分的方式有扇区方式和可变长方式两种。文件储存的单位是字节。文件以字节为单位保存,文件是将数据存储在磁盘等存储媒介中的一种形......
  • 程序是怎样跑起来的第七章读后感
    读完第七章后,我对程序中的数组和字符串有了更深入的理解。这一章详细介绍了数组和字符串的特性、操作以及在编程中的应用。我了解到数组是一种有序的元素集合,可以用于存储和操作一组相同类型的数据。通过对数组的索引操作,我们可以方便地访问和修改其中的元素。字符串作为特殊的......
  • 《程序是怎样跑起来的》第三章读后感
    计算机在计算小数时可能会出错,主要是因为有些十进制数的小数无法精确转换成二进制数。例如,十进制数0.1就无法用二进制数精确表示,即使小数点后面有几百位也无法做到。由于计算机只能处理有限的位数,无法表示无限循环的小数,因此在进行小数运算时,可能会出现精度损失或舍入误差。此外......
  • 程序是怎样跑起来的第七章第八章读后感
    第七章的标题是程序是在何种环境中运行的,看到这个标题,我也产生了这个疑问,并且应用的运行环境是什么呢?应用的运行环境通常是用类似于Windows(OS)和AT兼容机,同一个程序能被大量用户使用,所以说程序具有很大的价值。程序拿来出售的话,只要销量大,就能收到非常可观的利润。运行环境=操......
  • 《程序是怎样跑起来的》第七章读后感
    在学习计算机知识时,我们往往会直接关注程序编写和运行的具体操作,而不太会深入思考其背后所依赖的环境。第七章则专门探讨了这个问题,指出程序运行环境实际上是由操作系统和硬件共同组成的。例如,在日常生活中常见的Windows操作系统,就是与各种计算机硬件相配合,为程序提供运行平台的一......
  • 程序是怎样跑起来的第五六章读后感
    从第五章可以了解计算机采用的是存储程序方式。磁盘缓存是从磁盘中读出数据存储在内存中的,当数再次被读取时并不是从磁盘而是直接从内存中高速读出。DLL是DynamicLink的略称。函数的加载方式分为两种,一种是静态链接,另一种是动态链接。磁盘保存数据的物理单位是扇区。数据不读入......
  • 第六章读后感
    “程序是怎样跑起来的”第六章“亲自尝试压缩数据”这一章特别关注的是文件的压缩,使我认识到压缩数据在计算机科学中的重要性和广泛应用。数据压缩在现代计算机科学中是一个至关重要的概念。无论是在文件存储、网络传输还是实时数据处理中,数据压缩都发挥着不可替代的作用。通过......
  • 《程序是怎样跑起来的》第四章读后感
    计应232朱思嘉,今日发表《程序是怎样跑起来的》第四章读后感第四章的主题围绕着程序的执行流程展开。从程序的编译、链接到执行,处处充斥着严谨。这一章详细解释了程序如何从人类编写的代码转化为计算机可以理解的机器语言。这其中涉及到的编译器、链接器等工具的工作原理,让我对编......
  • 《程序是怎样跑起来的》第六章读后感
    文件是我们用来在磁盘等存储媒介上保存数据的一种形式,本质上就是字节数据的有序集合。比如文本文件是由一系列文字字符组成,图像文件则是由图形数据构成,虽然表现形式不同,但它们都是以连续字节的形式存储的。接下来我们来了解一下文件压缩的一些基本机制。首先提到的是RLE(Run-Lengt......