深入理解计算机系统(3.1)------汇编语言和机器语言-飞鸟和鱼的部落格

深入理解计算机系统(3.1)——汇编语言和机器语言

《深入理解计算机系统》第三章——程序的机器级表示。作者首先讲解了汇编代码和机器代码的关系,阐述了汇编承上启下的作用;接着从机器语言IA32着手,分别讲述了如何存储数据、如何访问数据、如...
深入理解计算机系统(2.7)------浮点数舍入以及运算-飞鸟和鱼的部落格

深入理解计算机系统(2.7)——浮点数舍入以及运算

上一篇博客我们讲解了二进制小数如何表示以及IEEE浮点标准。而且我们也提到过因为这种表示方法限制了浮点数的范围和精度,浮点数只能近似的表示一个数。 比如 数字1/5,我们能用十进制小数 0.2 ...
深入理解计算机系统(2.7)------二进制小数和IEEE浮点标准-飞鸟和鱼的部落格

深入理解计算机系统(2.7)——二进制小数和IEEE浮点标准

整数的表示和运算我们已经讲完了,在实际应用中,整数能够解决我们大部分问题。但是某些需要精确表示的数,比如某件商品的价格,某两地之间的距离等等,我们如果用整数表示将会有很大的出入,这...
深入理解计算机系统(2.6)------整数的运算-飞鸟和鱼的部落格

深入理解计算机系统(2.6)——整数的运算

前面两篇博客我们详细讲解了计算机中整数的表示,包括有符号和无符号(补码编码)的详细介绍。那么这篇博客我们将对它们的运算有个详细的了解。 在讲解之前首先看下面的一个程序,看看输出结果...
深入理解计算机系统(2.5)------C语言中的有符号数和无符号数以及扩展和截断数字-飞鸟和鱼的部落格

深入理解计算机系统(2.5)——C语言中的有符号数和无符号数以及扩展和截断数字

本篇博客讲解了 C 语言中的有符号数和无符号数,以及扩展和截断一个数值是如何进行的,理解它们的原理是十分必要的。那么计算机中整数的表示就已经讲完了,下篇博客将会讲解计算机中整数的运算...
深入理解计算机系统(2.4)------整数的表示(无符号编码和补码编码)-飞鸟和鱼的部落格

深入理解计算机系统(2.4)——整数的表示(无符号编码和补码编码)

深入理解计算机系统(2.4)------整数的表示(无符号编码和补码编码) 上一篇博客我们主要介绍了布尔代数和C语言当中的几个运算符。那么这一篇博客我们主要介绍在计算机中整数是如何表示的,诸...
深入理解计算机系统(2.3)------布尔代数以及C语言运算符-飞鸟和鱼的部落格

深入理解计算机系统(2.3)——布尔代数以及C语言运算符

本篇博客我们主要讲解计算机中的布尔代数以及C语言的几个运算符。 1、布尔代数 我们知道二进制值是计算机编码、存储和操作信息的核心,随着计算机的发展,围绕数值0和1的研究已经演化出了丰富的...
深入理解计算机系统(2.2)------进制间的转换原理-飞鸟和鱼的部落格

深入理解计算机系统(2.2)——进制间的转换原理

上一篇博客我们讲解了信息的在计算机中是如何存储以及如何表示的。但是对于各个进制的转换 LZ 只是一笔带过了,后来LZ仔细研究了进制转换的原理,发现还是挺有感悟的。那么这篇博客就讲讲进制转...
深入理解计算机系统(2.1)------信息的存储和表示-飞鸟和鱼的部落格

深入理解计算机系统(2.1)——信息的存储和表示

前面我们介绍了《深入理解计算机系统》第一章的内容----计算机系统漫游。包括简单介绍了 Hello World 程序在计算机中是如何运行的,存储设备的层次结构以及操作系统的抽象概念。第一章的内容只...
深入理解计算机系统(1.3)------操作系统的抽象概念-飞鸟和鱼的部落格

深入理解计算机系统(1.3)——操作系统的抽象概念

上一篇博客我们讲解了存储设备的层次结构,并详细讲解了高速缓存的原理,以及可以利用高速缓存来提高程序性能。如果对Java Web 熟悉的,我们可以理解高速缓存类似Web 端的缓存机制。那么这一篇...
深入理解计算机系统(1.2)------存储设备-飞鸟和鱼的部落格

深入理解计算机系统(1.2)——存储设备

本章主要介绍了高速缓存的产生的原理以及存储器设备的层次结构,如何理解整个存储器的层次结构,对于提高程序性能有很大的帮助。 上一章我们讲解了hello world 程序在计算机系统中是如何运行的...
深入理解计算机系统(1.1)------Hello World 是如何运行的-飞鸟和鱼的部落格

深入理解计算机系统(1.1)——Hello World 是如何运行的

上一篇序章我谈了谈 程序员为啥要懂底层计算机结构 ,有人赞同也有人反对也好,这都是博主的个人见解,但是博客还是要坚持学下去。这篇博客以案例驱动的模式,通过跟踪一个简单 Hello World ...