整数的表示和运算我们已经讲完了,在实际应用中,整数能够解决我们大部分问题.但是某些需要精确表示的数,比如某件商品的价格,某两地之间的距离等等,我们如果用整数表示将会有很大的出入,这时候浮点数就产生了. 在 20世纪80年代以前,每个计算机厂商都设计了自己表示浮点数的规则,以及对浮点数执行运算的细节,这对于应用程序在不同机器上的移植造成了巨大的困难.而在这之后,也就是 1985年左右,IEEE 标准产生了,这是一个仔细制定的表示浮点数及其运算的标准,现在的计算机浮点数也都是采用这个标准. 浮点数不…
二进制小数 首先复习进位计数制的要素: 数码:用来表示进制数的元素.比如 二进制数的数码为:0,1 十进制数的数码为:0,1,2,3,4,5,6,7,8,9 十六进制数的数码为:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 基数:数码的个数.比如 二进制数的基数为2 十进制数的基数为10 十六进制数的基数为 16 位权:数制中每一固定位置对应的单位值称为位权. 二进制第2位的位权为\(2^1\),第3位的位权为\(2^2\):\((10010.1110)_2 = 1 * 2^4…
2.6我们进行了二进制整数运算的最后一役,本次LZ将和各位一起进入浮点数的世界,这里没有无符号,没有补码,但是有各种各样的惊奇.倘若你真正的进入了浮点数的世界,一定会发现它原来是这么有意思,而不是像之前一样,觉得了解浮点数的内容没什么用,只要会简单的使用就行了.当然,这其中也可能有部分猿友是觉得这部分内容太难,而对它失去了学习的兴趣. 就像之前的LZ一样,曾经对IEEE标准望而却步,不过相信这几章浮点数的介绍会让你有种顿悟的感觉.倘若你有了这样的感觉,也不要忘了“点个推荐哦.” 引言 整数运算虽…
<深入理解计算机系统>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382303 内容提要 本书主要介绍了计算机系统的基本概念,包括最 底层的内存中的数据表示.流水线指令的构成.虚拟存储器.编译系统.动态加载库,以及用户应用等.书中提供了大量实际操作,可以帮助读者更好地理解程序执行的方式,改进程序的执行效率.此书以程序员的视角全面讲解了计算机系统,深入浅出地介绍了处理器.编译器.操作系统和网络环境,是这一领域的权威之作. 本书适合作为计…
前言 上一章我们简单介绍了IEEE浮点标准,本次我们主要讲解一下浮点运算舍入的问题,以及简单的介绍浮点数的运算. 之前我们已经提到过,有很多小数是二进制浮点数无法准确表示的,因此就难免会遇到舍入的问题.这一点其实在我们平时的计算当中会经常出现,就比如之前我们提到过的0.3,它就是无法用浮点小数准确表示的. 为此LZ专门写了一个小程序,使用Java语言打印出了0.3的二进制表示,是这样的一个数字,0 01111101 00110011001100110011010.我们来简单算一下,这个数值大约是…
本文是CSAPP第二章的配套实验,通过使用有限的运算符来实现正数,负数,浮点数的位级表示.通过完成这13个函数,可以使我们更好的理解计算机中数据的编码方式. 准备工作   首先去官网Lab Assignments获得实验相关的文件(也可以加我QQ获取教学视频.PPT等内容)在每个实验文件的README中都详细介绍了如何修改程序,编译程序等.建议仔细阅读,有不明白的可以留言,看到后会及时回复.   我的编译环境:Ubuntu 16.04,gcc 5.4.0.   编译时会报如下错误.   执行以下…
<深入理解计算机系统V2>学习指导 目录 图书简况 学习指导 第一章 计算机系统漫游 第二章 信息的表示和处理 第三章 程序的机器级表示 第四章 处理器体系结构 第五章 优化程序性能 第六章 存储器层次结构 第七章 链接 第八章 异常控制流 第九章 虚拟存储器 第十章 系统级I/O 第十一章 网络编程 第十二章 并发编程 图书简况 「深入理解计算机系统(Computer Systems: A Programmer's Perspective)阅读体会」和「老赵书托(3):深入理解计算机系统」这…
引言 各位猿友们好,计算机系统系列很久没更新了,实在是抱歉之极.新的一年,为了给计算机系统系列添加一些新的元素,LZ将其更改为书的原名<深入理解计算机系统>.这本书非常厚,而且难度较高,LZ看了很久才看了四章.当然,这跟LZ最近很久没翻书有关系,最近公司的事情比较多,可让LZ愁了个愁,尤其是招人的事一直不太顺利,很多工作无法展开,也让LZ的心中一直压着一块大石. 不过事情多了,就意味着责任大了,因此LZ最近经常回家自己研究公司所用的框架,以期了如指掌,可以应付各种随即事件.这耽误了LZ不少功夫…
在写本章的内容之前,LZ先做个小广告.其实也不算是什么广告,就是LZ为了和各位猿友交流方便,另外也确实有个别猿友留言或者在博客里发短消息给LZ要联系方式.因此LZ斗胆建立了一个有关<深入理解计算机系统>这本书的交流群,当然了,如果有哪位猿友有其它方面的问题,也可以在群里提出,如果LZ有能力帮忙的话会尽量帮助各位,倘若LZ能力不足,或许也会有其它猿友可以解答. 群号在文章里就不贴了,有兴趣的猿友可以看右侧公告栏,欢迎各位大神.大牛.小牛.菜鸟踊跃加入. hello world的执行 我们以lin…
<深入理解计算机系统>Chapter 7 读书笔记 链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(货被拷贝)到存储器并执行. 链接的时机 编译时,也就是在源代码被翻译成机器代码时 加载时,也就是在程序被加载器加载到存储器并执行时 运行时,由应用程序执行 链接器使分离编译称为可能. 一.编译器驱动程序 大部分编译系统提供编译驱动程序:代表用户在需要时调用语言预处理器.编译器.汇编器和链接器. 1.将示例程序从ASCⅡ码源文件翻译成可执行目标文件的步骤 ()运行…