深入理解计算机系统之旅(二)信息在计算机中的表示和处理

1、前言

计算机只能处理和认识0和1,但是0和1的位数多了,就能对现实世界的各种信息进行编码,同样的0和1的序列在不同场景和上下文中的意义也不尽相同,所以通过一定的规则进行合理的编码和解码,然后就能将现实世界的信息放在计算机中运算和处理,最后按照预先设定好的程序将结果反馈给用户。

2、信息的存储

3、整数的表示

4、整数的运算

5、浮点数(小数)

6、小结

未完待续

时间: 2024-10-11 18:34:16

深入理解计算机系统之旅(二)信息在计算机中的表示和处理的相关文章

深入理解计算机系统之旅(一)计算机系统漫游

1.计算机系统是什么? 我们直观的可以看到的计算机系统就是一台电脑,包括主机.显示器.键盘鼠标,然后显示器上会显示不同界面,用鼠标点击,键盘输入界面就会相应操作. 2.深入一点,他们是如何工作的? 计算机系统是由硬件和系统软件组成,它们共同工作来运行应用程序. 3.再深入一点,硬件是什么?系统软件是什么?应用程序是什么? 硬件是组成计算机系统的基础,大家耳熟能详的就是CPU.内存.硬盘.主板等. 系统软件是运行在硬件之上的一层控制软件,就是我们经常听到的Windows XP.WIN7.Linux

深入理解计算机系统之旅(五)优化程序性能

1.前言 好的算法和数据结构在编写高性能的程序时固然重要,但是却不是全部,如果我们想要写出性能更好的程序就需要了解编译器是否如何工作和优化我们的代码的,当然并不是要求所有的程序员都去了解和掌握此技能,仅仅对程序性能要求比较苛刻在现有情况下已经无法通过其他方法优化的情况下才会凸显重要性. 未完待续

深入理解计算机系统之旅(四)处理器(CPU)的体系结构

1.前言 处理器是非常复杂的系统,它不是一蹴而就的,它是经过不断的升级.更新.设计之后的产物,并且现在还在保持着不断的更新. 处理器只能执行一系列的指令,每条指令都只是执行某个简单的操作,比如数字相加.指令同样也需要被编码,这些编码是由一定规则的0和1的二进制位组成,这些指令编码的统称就是处理器的指令集. 未完待续

深入理解计算机系统之旅(三)程序的机器级表示

1.前言 我们在使用高级语言比如C语言.OBjective-C以及Java等编写程序时,我们被屏蔽了程序的具体机器级的实现,这个屏蔽的工具就是编译器(Java是解释执行,但是它同样也需要将文本的源码进行一定的翻译,转换为字节码). 未完待续

linux基础-深入理解计算机系统疑问

问题描述 深入理解计算机系统疑问 为什么说代码段总是从0x08048000开始,这句话说的是所有程序的代码段吗? 解决方案 对于所有进程来说,代码都是从同一固定地址开始,如Linux系统通常从0x08048000开始代码段(如前所述,从地址0到代码段起始地址的部分通常为操作系统保留区).代码及只读数据区是直接按照可执行目标文件的内容初始化的,与目标文件中的代码段(.text).初始化段(.init)及只读数据段(.rodata)相对应. 解决方案二: <深入理解计算机系统>(二)深入理解计算机

深入理解计算机系统-之-数值存储(二)--C程序打印变量的每一字节或者位

大端与小端 前面我们提到了依据CPU端模式的不同,数据的存储顺序也不一样. 采用大小模式对数据进行存放的主要区别在于在存放的字节顺序,BE big-endian 大端模式 ,最直观的字节序 ,地址低位存储值的高位,地址高位存储值的低位 ,不需要考虑对应关系,只需要把内存地址从左到右按照由低到高的顺序写出 ,把值按照通常的高位到低位的顺序写出 ,两者对照,一个字节一个字节的填充进去 LE little-endian 小端模式,最符合人的思维的字节序,地址低位存储值的低位,地址高位存储值的高位 ,怎

深入理解Docker Volume(二)

本文讲的是深入理解Docker Volume(二),[编者的话]继上一篇文章深入理解Docker Volume(一)后,DockerOne翻译了深入理解Volume的第二篇文章.本文重点介绍了两种创建Volume方式的异同以及使用docker run命令创建Volume时,指定主机目录与不指定主机目录的区别. Docker的难点之一就是Volume的使用,这也是很多人都会问到的问题.所以让我们一起来深入看看Docker Volume是如何工作的. 很多人都对Volume有一个误解,他们认为Vol

深入理解计算机系统-之-内存寻址(五)--页式存储管理

前景回顾 前面我们讲解了操作系统段式存储管理的主要内容. 32位,在保护方式下,其能够访问的线性地址空间可达4GB,而且允许几乎不受存储空间限制的虚拟存储器程序.虚拟存储器地址空间能够可达64TB.它还提供了复杂的存储管理和硬件辅助的保护机构和增加了支持多任务操作系统的特别优化的指令.实际上,64TB的虚拟地址空间是有磁盘等外部存储器的支持下实现的.在编写程序是可以放在磁盘存储器上,但在执行时,必须把程序加载到物理存储器中.而存储器管理就是要将46位虚拟地址变换成32位物理地址. 将程序分成不同

深入理解linux内核之(二)进程

                                      深入理解linux内核之(二)进程       程序是静态的,进程是正在执行的程序的一个实例,一个程序可以由多个进程组成.进程是资源分配的实体.在进程被创建出来之后,该子进程几乎和父进程一样.子进程复制了父进程的地址空间,从fork()之后的第一条指令开始执行,和父进程有同样的程序可执行代码(exec调用除外).尽管子进程和父进程具有同样的程序执行代码,但是子进程拥有自己的stack和heap,因此,子进程对数据的修改对