CSAPP阅读笔记
文章平均质量分 73
Findway_
我的博客:lhgaaa.github.io
展开
-
【CSAPP阅读笔记】之信息的存储
一、信息的存储1.进制转换在计算机中我们常需要装换的进制有二进制,十进制,八进制,十六进制。其中,二进制,八进制,十六进制之间的转换都是非常简单的,直接参照下面的表进行按位替换就行了。要注意的是,八进制与二进制装换是一个八进制位等价三个二进制位,十六进制与二进制转换是一个十六进制等价四个二进制位。 二进制 八进制 十六进制 0000 0 0 0001 1 1 0原创 2017-05-17 12:26:05 · 302 阅读 · 0 评论 -
程序的机器级表示(一)(关于程序员,这些汇编知识就够了)
本篇主要包括以下内容: 1. 为什么还要学汇编? 1.1 Linux下C语言转汇编及反汇编 1.2 汇编语言相对于高级语言的特点 2. 学会汇编 2.1 学习汇编要先了解的基本知识 —— 本节及其以上都是学来吹牛逼的 2.2 汇编的数据类型 —— 相对于其他语言,类型少的可怜 2.原创 2017-05-26 16:38:27 · 1497 阅读 · 1 评论 -
浮点数
1.二进制小数(定点表示法)浮点数这节原书讲的非常清楚,所以有大量关于原书的截图。小数的二进制表示如下图所示:小数的二进制表示形式和十进制表示类似,二进制小数的精度取决于小数点之后表示小数部分的位数,可参考下图理解。 2.IEEE浮点表示定点表示法不能很有效的表示非常大的数字,我们希望通过给定x和y,来表示形如x∗2yx*2^y 这样的数。我觉得书上这段讲的很好很清晰,所以直接上书。根据exp的值原创 2017-05-23 14:20:23 · 2430 阅读 · 0 评论 -
整数运算
计算机计算的有限性导致了计算机表示的数据不能无限大,无限小。这节主要讨论了整数运算的溢出问题。1.无符号加法无符号加法是一种模数加法,即无符号加法产生的结果是对真正的结果进行取模得到的,具体要模的数字要视该数据类型所能表示的最大数字而定。模法加法形成的这一数据结构被称为阿贝尔群。2.补码加法补码加法即有符号数加法。两个数的w位补码之和与无符号之和有完全相同的位级表示,大多数计算机都使用同样的机器指令原创 2017-05-23 11:32:47 · 1634 阅读 · 0 评论 -
整数表示
1.无符号数和有符号数的存储C语言支持有符号数和无符号数,无符号数在计算机中的是原码存储,而有符号数在计算机中是补码存储。至于具体的存储方式,我unsigned char和char类型为例子进行解释。1.1无符号数的原码表示首先,我们知道c语言中unsigned char类型占一个字节,一共可以表示282^8,即256个数字,而无符号的原码表示中,所有的位都用来表示数字,所以使用原码表示的unsig原创 2017-05-18 11:43:15 · 750 阅读 · 0 评论 -
程序的机器级表示(二) 学会汇编~
一、为什么还要学习汇编二、学会汇编2.1学习之前需要了解的基本知识汇编代码格式种类:常见的汇编格式主要分成两类:ATT和Intel,ATT是根据AT&T命名的,主要是linux下gcc,objdump和一些其他工具的默认格式,Intel主要是Microsoft的工具和Intel的文档主要使用的格式。可以在编译中加入-masm=intel选项使gcc编译出Intel风格的汇编。Intel和ATT格式主原创 2017-06-11 15:12:06 · 313 阅读 · 0 评论