
CSAPP
爽、
业精于勤而荒于嬉,行成于思而毁于随
展开
-
深入理解计算机系统(5) 第二章 信息的表示和处理(2)
目录 1.整数表示 1.1C语言整数数据类型 1.2无符号数的编码 1.3补码编码 为什么上面C语言数据类型负数的范围要比正数的范围大1? 结论 1.4有符号数与无符号数之间的转换 原理 1.5扩展一个数字的位表示 零扩展 符号位扩展 1.6截断数字 1.整数表示 1.1C语言整数数据类型 可以看出: ①、用数据类型表示大小的数是非负数(声明为...原创 2019-01-31 15:11:55 · 244 阅读 · 0 评论 -
深入理解计算机系统(6)有符号数与无符号数隐式转换弊端
C语言有符号数与无符号数隐式转换弊端 题一 #include<stdio.h> float sum(float a[], unsigned length) { int i; float result = 0; for (i = 0; i <= length - 1; i++) { result += a[i]; ...原创 2019-01-31 17:19:51 · 272 阅读 · 0 评论 -
深入理解计算机系统(1) 序章
起因 LZ每次拿起书看到那些复杂的底层架构,看到存储器,寄存器,CPU,总线等等这些概念就头大。书不像《大话设计模式》那样风趣幽默,也没有像《java编程思想》那样,几乎半本书都是代码实例,通俗易懂,而且练习题切入要害,引人深思。但是这难啃的骨头不啃下来,无法在写程序的道路上走的更远。身为程序员总要会调优把,那么你需要了解jvm,但像《深入理解Java虚拟机》这类书籍,不了解底层计算机...原创 2019-01-29 11:31:33 · 205 阅读 · 0 评论 -
深入理解计算机系统(2) 第一章(1)
目录 1.信息就是位+上下文 1.1hello程序 文件名为hello.c的文本文件 1.2大部分现代计算机系统用ASCII标准来表示文本字符 ASCII 文本字符 字节 位 1.3 hello程序说明一个基本思想 1.4区分数据对象唯一方法 2源程序到可执行程序的过程(编译过程):四个阶段 3.了解编译系统的益处 3.1优化编译性能(第三,五,六章解答) 3.2理...原创 2019-01-30 14:09:10 · 667 阅读 · 0 评论 -
深入理解计算机系统(3) 第一章(2)
目录 1.高速缓存存储器(cache) 2.存储器层次结构 2.1遵循的机械原理 2.2主要思想 3.操作系统 3.1两个基本功能 3.2实现基本功能引出的抽象概念 3.2.1进程(第八章解释实现原理) 3.2.2线程 3.2.3虚拟内存(第九章解释) 3.2.4文件 4.计算机系统中抽象的重要性 4.1常见的抽象 上一篇讲解了hello程序在计算机系统中是如何运行的...原创 2019-01-30 15:13:29 · 305 阅读 · 0 评论 -
深入理解计算机系统(4) 第二章 信息的表示和处理(1)
目录 1.信息存储 1.1十六进制表示法 1.1.1由来 1.1.2表示 1.1.3十六进制与十进制、二进制之间的互相转换练习(略) 1.2字长 1.2.1数据大小 1.3寻址和字节顺序 1.3.1规则 1.4表示代码 1.5表示字符串 1.6布尔代数 1.7位级运算 1.8逻辑运算 1.9移位运算 1.9.1左移 1.9.2右移 1.信息存储 计算机内所有...原创 2019-01-30 16:44:27 · 633 阅读 · 0 评论