首页 > 编程语言 >《程序是怎样跑起来的》读后感

《程序是怎样跑起来的》读后感

时间:2024-01-21 22:02:37浏览次数:40  
标签:读后感 运算 计算机 0.1 浮点数 程序 二进制 怎样 小数

在第三章中主要讲述了计算机进行小数运算时出错的原因,大家可能会认为“万能的计算机是不会出现计算错误的”。但实际上,依然存在程序运行后无法得到正确数值的情况。其中,小数运算就是一个典型的例子。在本章中我们首先了解了将二进制表示的小数转换成十进制的方法,这样便于理解计算机运算出错的原因,计算机之所以会出现运算错误,是因为“有一些十进制数的小数无法转换成二进制数”。例如,十进制数 0.1,就无法用二进制数正确表示,小数点后面即使有几百位也无法表示。在计算机进行小数运算时无法正确表示的数值,最后都变成了近似值。计算机这个功能有限的机器设备,是无法处理无限循环的小数的。因此,在遇到循环小数时,计算机就会根据变量数据类型所对应的长度将数值从中间截断或者四舍五人。我们知道,将0.3333…这样的循环小数从中间截断会变成0.333333,这时它的3倍是无法得出1的(结果是0.999999 ),计算机运算出错的原因也是同样的道理。很多编程语言中都提供了两种表示小数的数据类型,分别是双精度浮点数和单精度浮点数。双精度浮点数类型用 64 位、单精度浮点数类型用 32 位来表示全体小数。在C语言中,双精度浮点数类型和单精度浮点数类型分别用 double 和 float 来表示。不过,这些数据类型都采用浮点数来表示小数。浮点数是指用符号、尾数、基数和指数这四部分来表示的小数。因为计算机内部使用的是二进制数,所以基数自然就是2。因此,实际的数据中往往不考虑基数,只用符号、尾数、指数这三部分即可表示浮点数。也就是说,64 位(双精度浮点数)和 32 位(单精度浮点数)的数据,会被分为三部分来使用 。那么我们如何避免计算机在计算小数时出现错误呢?1 根据程序目的不同,无视错误 2 把小数转化成整数计算,采用BCD方法。比如0.1这个数,计算机是用一种二进制格式存储小数的,这个二进制格式不能精确表示0.1,它只能表示一个非常接近0.1但又不等于0.1的一个数。

标签:读后感,运算,计算机,0.1,浮点数,程序,二进制,怎样,小数
From: https://www.cnblogs.com/lmhning/p/17978486

相关文章

  • 微信小程序 canvas
    页面绑定canvas<viewstyle='width:0px;height:0px;overflow:hidden;'><!--//调试时候可用直接将canvas显示在页面上//调试完成将canvas隐藏<canvasid="canvasContaner"type="2d"></canvas>--><canvasid="canvasContaner&q......
  • [Mac软件]App Cleaner & Uninstaller 8.2.6应用程序清理和卸载
    AppCleaner&Uninstaller是一款Mac应用程序,它可以帮助用户完全删除应用程序及其相关的服务文件、扩展文件等。以下是该应用程序的主要功能:完全删除应用程序:通过将应用程序图标拖到垃圾桶中删除程序,可以彻底清除应用程序及其相关文件,释放磁盘空间。删除所有类型的服务文件:除了删除......
  • 《程序是怎样跑起来的》第一、二章
    一、计算机的硬件组成1. CPU:中央处理器,负责解释和运行最终转换成机器语言的程序内容。2. 内存:主存,通过控制芯片与CPU相连,负责存储指令和数据。3. 寄存器:可以用来暂存指令、数据等处理对象,可以看做是内存。CPU有20-100个寄存器,控制器、运算器和时钟也包含在CPU中。二、......
  • 系统是怎样跑起来的读后感悟第一章
    cpu能够直接识别和执行的只有机器语言C,Java等语言编写的程序,最后都会转化为机器语言。CPU是由许多晶体管组成的电子部件,cpu的内部被分为四个部分,寄存器、控制器、运算器和时钟,四个部分之间由电流信号相互连通寄存器:可以用来暂存指令、数据等处理对象可以将其看作是内存的一种。......
  • 《程序是怎样跑起来的》第一章随笔
    对我来说CPU是什么?相当于人们的大脑,在计算机中是关键核心之一。CPU是什么?CPU中文名为中央处理器,相当于计算机的大脑,由寄存器,控制器,运算器和时钟组成用来将指令的执行顺序组织起来,并按照规定的顺序进行操作,以确保计算机系统能够正常运行。寄存器寄存器可用来暂存指令、数据等......
  • 《系统科学方法概论》第一章读后感
    我是计应232班的徐鲁豫读过系统科学方法概论第一章后我了解了系统思想发展史、什么是系统、系统内部的基本关系、系统规律和系统方法。系统思想发展史分为古代和近代。古代人不仅注意对世界整体性的认识,而且对与整体性本身,也进行过初步的理论探讨。古代思想家对世界或事物整体性......
  • 《程序怎样跑起来的》第一章观后收获
    通过阅读第一章,我了解到了CPU是由运算器、控制器、时钟以及寄存器这四部分组成,其中寄存器又分为基址、变址、累加、指令、栈、通用以及标志寄存器,都分别具有不同的功能负责不同的工作;程序的执行其实通过将高级语言转换成汇编语言调动相应的指令执行任务;指令集通过程序计数器排列,逐......
  • Go语言核心36讲 04 | 程序实体的那些事儿(上)
    我已经为你打开了Go语言编程之门,并向你展示了“程序从初建到拆分,再到模块化”的基本演化路径。一个编程老手让程序完成基本演化,可能也就需要几十分钟甚至十几分钟,因为他们一开始就会把车开到模块化编程的道路上。我相信,等你真正理解了这个过程之后,也会驾轻就熟的。上述套路是......
  • Go语言核心36讲 06 | 程序实体的那些事儿 (下)
    在上一篇文章,我们一直都在围绕着可重名变量,也就是不同代码块中的重名变量,进行了讨论。还记得吗?最后我强调,如果可重名变量的类型不同,那么就需要引起我们的特别关注了,它们之间可能会存在“屏蔽”的现象。必要时,我们需要严格地检查它们的类型,但是怎样检查呢?咱们现在就说。我今天......
  • Go语言核心36讲 05 | 程序实体的那些事儿(中)
    在前文中,我解释过代码块的含义。Go语言的代码块是一层套一层的,就像大圆套小圆。一个代码块可以有若干个子代码块;但对于每个代码块,最多只会有一个直接包含它的代码块(后者可以简称为前者的外层代码块)。这种代码块的划分,也间接地决定了程序实体的作用域。我们今天就来看看它们之......