排序
深入理解计算机系统(2.7)——浮点数舍入以及运算
上一篇博客我们讲解了二进制小数如何表示以及IEEE浮点标准。而且我们也提到过因为这种表示方法限制了浮点数的范围和精度,浮点数只能近似的表示一个数。 比如 数字1/5,我们能用十进制小数 0.2 ...
深入理解计算机系统(2.3)——布尔代数以及C语言运算符
本篇博客我们主要讲解计算机中的布尔代数以及C语言的几个运算符。 1、布尔代数 我们知道二进制值是计算机编码、存储和操作信息的核心,随着计算机的发展,围绕数值0和1的研究已经演化出了丰富的...
深入理解计算机系统(序章)——谈程序员为什么要懂底层计算机结构
万丈高楼平地起,计算机系统就像程序员金字塔的地基。理解了计算机系统的构造原理,在写程序的道路上才能越走越远。道理LZ很早就懂了,可是一直没下定决心好好钻研,或许是觉得日常工作中根本用...
深入理解计算机系统(1.2)——存储设备
本章主要介绍了高速缓存的产生的原理以及存储器设备的层次结构,如何理解整个存储器的层次结构,对于提高程序性能有很大的帮助。 上一章我们讲解了hello world 程序在计算机系统中是如何运行的...
深入理解计算机系统(3.7)——过程(函数的调用原理)
上篇博客我们讲解了计算机汇编语言是如何实现循环结构的。本篇博客我们将介绍汇编语言中过程的实现方式。 过程在高级语言中也称为函数,方法。一个过程的调用包括将数据(以过程参数和返回值的...
深入理解计算机系统(2.7)——二进制小数和IEEE浮点标准
整数的表示和运算我们已经讲完了,在实际应用中,整数能够解决我们大部分问题。但是某些需要精确表示的数,比如某件商品的价格,某两地之间的距离等等,我们如果用整数表示将会有很大的出入,这...
深入理解计算机系统(3.8)——数组分配和访问
上一篇博客我们讲解了汇编语言中过程(函数)的调用实现。理解数据如何在调用者和被调用者之间传递,以及在被调用者当中局部变量内存的分配以及释放是最重要的。那么这篇博客我们将讲解数组的分...
深入理解计算机系统(2.5)——C语言中的有符号数和无符号数以及扩展和截断数字
本篇博客讲解了 C 语言中的有符号数和无符号数,以及扩展和截断一个数值是如何进行的,理解它们的原理是十分必要的。那么计算机中整数的表示就已经讲完了,下篇博客将会讲解计算机中整数的运算...
深入理解计算机系统(2.1)——信息的存储和表示
前面我们介绍了《深入理解计算机系统》第一章的内容----计算机系统漫游。包括简单介绍了 Hello World 程序在计算机中是如何运行的,存储设备的层次结构以及操作系统的抽象概念。第一章的内容只...
深入理解计算机系统(2.2)——进制间的转换原理
上一篇博客我们讲解了信息的在计算机中是如何存储以及如何表示的。但是对于各个进制的转换 LZ 只是一笔带过了,后来LZ仔细研究了进制转换的原理,发现还是挺有感悟的。那么这篇博客就讲讲进制转...
深入理解计算机系统(4.1)——Y86指令集体系结构
本章我们将进入处理器体系结构介绍的神秘海洋中,我们熟悉的手机,电脑等设备的核心硬件都离不开处理器。处理器可以称的上是人类创造的最复杂的系统之一,一块手指大小的硅片,可以容纳一个完整...
深入理解计算机系统(2.4)——整数的表示(无符号编码和补码编码)
深入理解计算机系统(2.4)------整数的表示(无符号编码和补码编码) 上一篇博客我们主要介绍了布尔代数和C语言当中的几个运算符。那么这一篇博客我们主要介绍在计算机中整数是如何表示的,诸...











