首页 > 编程语言 >读《程序是怎样跑起来的》三、四章有感

读《程序是怎样跑起来的》三、四章有感

时间:2024-02-21 20:00:10浏览次数:26  
标签:计算机 有感 二进制 程序 出错 四章 内存 数组 小数

我在《程序是怎样跑起来的》第三章主要学到了计算机进行小数运算时出错的原因。
计算机内部所有的信息都是以二进制数的形式来处理的,在这一点上整数和小数没有区别。将1011.0011这个有小数的二进制数转换成十进制数,如图
了解将二进制数表示的小数转换成十进制数,那计算机运算出错的原因就容易理解了。计算机之所以出现运算错误,是因为“有一些十进制的小数无法转换成二进制数”。在图3-2中,小数点后4位用二进制数表示时的数值范围为0.0000~0.1111。因此,这里只能表示0.5、0.25、0.125、0..625这四个二进制数小数点后面的位权组合而成的小数。将这些数值组合后能过表示的数值,即表3-1中所示的无序的十进制数
实际上,十进制数0.1转换成二进制后,会变成0.00011001100…这样的循环小数。计算机这个功能有限的设备,是无法处理无限循环的小数。因此无法正确表示的数值,最后都变成了近似值。计算机运算就会出错。
采用浮点数来处理小数是计算机出错的原因之一。如何避免计算机计算错误呢?
回避策略,既无视这些错误。根据程序目的的不同,有时一些微小的偏差并不会造成什么问题。另一策略是把小数转换成整数来计算。计算机进行小数计算时可能会出错,当进行整数运算时一定不会出错。
我在第四章主要了解了有关内存的知识。
首先是内存的物理机制,内存实际上是一种名为内存IC的电子元件。内存IC中有电源、地址信号、数据信号、控制信号等用于输入输出的大量引脚,通过为其指定地址,来进行数据的读写。总体来讲,内存IC内部有大量可以存储8位数据的地方,通过地址制定这些场所之后即可进行数据的读写。
其次,内存的逻辑。大部分参考书都会用类似于楼房的图形来表示内存。在这个楼房中,1层可以存储1字节的数据,楼层号表示的就是地址。内存为1KB时,如图所示
如何高效的使用内存呢?数组就是基础。数组是指多个同样数据类型的数据在内存中连续排列的形式。作为数组元素的各个数据就通过连续的编号被区分开来,这个编号称为索引。指定索引后,就可以对索引所对应地址的内存进行读写操作。而索引和内存地址的变换工作则是由编译器自动实现。数组的定义中所指定的数据类型,也表示一次能够读取的内存大小。char类型的数组 以1个字节为单位对内存进行读写,而short类型和long类型的数组则分别以2个字节、4个字节为单位对内存进行读写。数组是使用内存的基础。

标签:计算机,有感,二进制,程序,出错,四章,内存,数组,小数
From: https://www.cnblogs.com/chaipanpan/p/18026110

相关文章

  • 《程序是怎样跑起来的》第五章观后感。
    我是计应232的学生张凯源,今天来分享《程序是怎样跑起来的》第五章观后感。这一章主要讲解了磁盘和内存之间的亲密关系,第一部分就讲述了内存和磁盘是计算机的主要存储部件,磁盘中的程序不读入内存就无法运行,两者缺一不可。书中还介绍了储存程序方式,通过上网查阅,它就是有序的读出储......
  • 《程序是怎样跑起来的》第三章
    关于这第三章,我已经在这里卡了将近两个礼拜,依旧觉得晦涩难懂,迫于时间压力和剩余的海量任务只能草草总结一下。关于我在这第三章的收获,可以说是少的可怜,其中主要介绍了计算机是如何使用二进制表示小数,计算机在计算小数出错的原因,何为浮点数,如何避免计算机出错以及简略提到的正则表......
  • 《程序是怎样跑起来的》第九章读后感
    第九章主要讲的是操作系统与应用程序的关系,而早期的操作系统就是,人们将提供基本输入输出功能的程序添加到了监控程序中,而随着时代的发展,人们又在操作系统中增加了硬件控制程序(语言处理器,汇编器,编译器和解释器)以及各种工具最终形成了接近现代操作系统的形态像文字处理软件表格处......
  • 《程序是怎样跑起来的》——第8章 从源文件到可执行文件
    一、代码1、源代码完成后,就可以编译生成可执行文件了。负责实现该功能的是编译器2、代码运行:计算机只能运行本地代码。3、源代码和源文件:用某种编程语言编写的程序就称为源代码,保存源代码的文件称为源文件。(这里的“源代码”用英文表示是“sourcecode”。source有“原始的”......
  • 《程序是怎样跑起来的》第十章
    心得:了解了计算机和程序的实际运行方式知识点:1、汇编语言在各本地代码中,附带上表示其功能的英语单词缩写,这些缩写称为助记符。使用助记符的编程语言称为汇编语言。汇编语言的源代码转换成本地代码的方式,称为汇编。负责转换工作的程序称为汇编器。2、获得汇编语言源代码的方法......
  • 《系统科学方法概论》第四章
    在第四章中,作者深度剖析了信息论这一关键理论在系统科学中的应用及其对各领域产生的深远影响。信息论诞生于20世纪中期,由克劳德·香农开创性地提出,其核心研究内容围绕信息的量化、编码和传输展开,对通信技术的进步起到了决定性作用,尤其体现在数据压缩与加密等关键技术上。随着计算......
  • 《程序是怎样跑起来的》第7章—— 程序是在何种环境中运行的
    一、运行环境1、运行环境是什么:运行环境=操作系统+硬件。操作系统和硬件决定了程序的运行环境。示例:2007MicrosoftOfficesytem的运行环境(这里省略了部分内容)同一类型的硬件可以选择安装多种操作系统。同样的AT兼容机”中,既可以安装Windows,也可以安装Linux等操作系统。不......
  • 《程序是怎样跑起来的》第六章
    第六章,亲自尝试压缩数据。首先6.1节文件是以字节为单位保存。在任何情况下,文件中的字节数据都是连续储存的。6.2节,RLE算法的机制。像这样,把文件内容用“数据乘以重复次数”的形式来表示的压缩方法称为RLE算法,它是一种很好的压缩方法。图像文本也可用此算法来压缩。在讲述了此算法......
  • 《程序是怎样跑起来的》第十章的读后感
    又到了读书分享的时候,本篇分享《程序是怎样跑起来的》第十章的读后感,通过汇编语言了解程序的实际构成。首先我了解到了助记符的含义,通过使用助记符的编程语言称为汇编语言。这样通过查看汇编语言编写的源代码就可以了解程序的本质。即使是用汇编语言编写的源代码,最终也必须要转换......
  • 《程序是怎么跑起来的》第十章
    阅读了程序集是怎么跑起来的第十章,我了解了通过汇编语言了解程序的实际构成,对于本章的总结我认为本章的前半部分讲的是CPU运行本地代码的关系,而后半部分则讲述的是局部变量和全局变量的不同。汇编语言和本地代码之间存在一一对应的关系。汇编语言是一种低级语言,它提供了一种与计......