【CSAPP笔记】3. 浮点数】的更多相关文章

六星经典CSAPP笔记(1)计算机系统巡游 六星经典CSAPP笔记(2)信息的操作和表示 六星经典CSAPP-笔记(3)程序的机器级表示…
回想起刚学C语言时,我对浮点数的印象大概是"能够表示小数"的数据类型.还死记硬背过例如什么"小数用double存,用%f输出"这类的话.实际上呢,浮点数可以用这么一个公式来概括: \[ \sum_{k=-j}^i b_k×2^k\] 除了我们所熟知的,表示小数之外,它对执行涉及非常大的数字.非常接近于0的数字,以及更普遍地作为对实数运算的结果的近似值,是非常有用的. 以下摘取一些书本中的内容: 20世界80年代,每个计算机制造商都指定了自己的表示浮点数的规则,以及对…
现在想补补推荐这本书的理由. Most books on systems-computer architecture, compilers, operating systems, and networking-are written as if the reader were going to design and implement such a system. We call this the "builder's persepective." We believe that st…
本博客对于汇编的介绍基于32位机器的Intel x86系列处理器和IA32指令集,也涉及少部分x86-64.由于汇编知识相对复杂,这里只做简单介绍和记录,详细请参照书本! 数据格式 下面这张表格中体现了C语言基本数据类型和IA32的对应表示. C语言中的声明 Intel 数据类型 汇编代码后缀 大小(字节) char 字节 b(byte) 1 short 字 w(word) 2 int 双字 l(long) 4 long int 双字 l 4 long long int "四字" -…
9.虚拟存储器 为了更加有效地管理存储器且少出错,现代系统提供了对主存的抽象概念,叫做虚拟存储器(VM). 虚拟存储器是硬件异常,硬件地址翻译,主存,磁盘文件和内核软件的完美交互. 为每个进程提供一个大的,一致的和 私有的地址空间. 提供了3个重要能力. 将主存看成磁盘地址空间的高速缓存. 只保留了活动区域,并根据需要在磁盘和主存间来回传送数据,高效使用主存. 为每个进程提供一致的地址空间 简化存储器管理 保护了每个进程的地址空间不被其他进程破坏. 程序员为什么要理解它? 虚拟存储器是中心的.…
第十一章 网络编程 我们需要理解基本的客户端-服务端编程模型,以及如何编写使用因特网提供的服务的客户端-服务端程序. 最后,我们将把所有这些概念结合起来,开发一个小的但功能齐全的Web服务器,能够为真实的Web浏览器提供静态的和动态的文本和图形内容. 11.1 客户端 - 服务器编程模型 每个网络应用程序都是基于客户端 - 服务器模型的 采用这种模型,一个应用是由一个服务器进程 和一个或多个客户端进程组成. 服务器管理某种资源,并且通过操作这种资源为它的客户端提供某种服务. WEB服务器,代表客…
信息的表示和处理 2.1 信息存储 机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器. 存储器的每个字节由一个唯一的数字表示,称为它的地址 所有可能地址的集合称为虚拟地址空间 2.1.1 十六进制表示法 python 中十六进制的转变方法 a=; print(hex(a)) //print:0xf 2.1.2 字 字长决定虚拟地址空间的最大大小 32位的是4G(2^32) 2.1.3 数据大小 char *使用了机器的全字长 2.1.4 寻址和字节顺序 小端法:大多数Intel兼容机规…
2.Representing and Manipulating Information 本章从二进制.字长.字节序,一直讲到布尔代数.位运算,最后无符号.有符号整数.浮点数的表示和运算.诚然有些地方的数学证明有些枯燥,但总体上看,本章还是干货十足的! 2.1 Decimal vs. Binary Notation 我们习惯十进制只是因为我们有十根手指头(?),所以会对二进制感到不习惯.但是二值信号(two-value signal)在表示.存储.传输方面有巨大优势,从打孔带上的有没有孔洞(代码的…
CSAPP即<Computer System: A Programmer Perspective>的简称,中文名为<深入理解计算机系统>.相信很多程序员都拜读过,之前买的旧版没有读完,如今恰好第二版出版,就入手影印版重读经典.一读果然,经典依然是经典,CMU卡内基梅隆大学的本科教材,堪比另一本SICP的六星佳作啊! 1.A Tour of Computer System 1.1 Programs Are Translated by Other Programs into Diffe…
下面就要进入本书的第二部分--在系统上运行程序.书的第一部分,主要是研究单个应用程序,关注的是数据类型.机器指令.程序性能.存储器系统等话题.在书的第二部分,我们继续对计算机系统的探索.现代操作系统与硬件合作,(进程的概念.虚拟存储器)为每个程序提供一种假象,好像这个程序是计算机上唯一运行的程序.实际上在任何时间点,计算机上都有多个程序在运行. 链接(Linking)是将各种代码和数据收集起来组合成一个单一文件的过程.链接是由链接器(Linker)完成的.链接器在软件开发中扮演着一个关键的角色,…