Learning by doing 二 深入理解计算机系统(CS:APP)一信息表示
2013-10-17 22:22
525 查看
先说标题。直译是,《计算机系统:一种程序员的视角》。翻译成深入,确实很微妙。
既然是lenging by doing。先说反复提到的程序。show_bytes。
程序原理:
1、指针类型强转。2、显示16进制数。就这两步。
实验:
运行ubuntu10.04.(机器太破。而且我不习惯新版的UI。。)。
测试数据12345。结果39 30 00 00.传递指针的结果是可变数值。
分析:
本书的实质是什么?深入理解系统。12345存储的实质是0x00003039,小端机中以0x393000存储,C语言中,int型实质是什么,32位二进制数。int指针的实质是什么?指向32为首地址,并且告诉程序,一次读取4字节。强转的意思是什么?char * 占1字节,及一次读取1字节。通过传输首地址我们就能打印该地址存储的实质是什么。
结论:
计算机中信息的表示就是二进制,系统定义了如何解读二进制。
第一章组织结构是:
1、机器中存储实质是二进制
2、二进制的计算是什么?布尔运算。
3、升级版?逻辑运算。
4、讲完普通运算,二进制高级运算——移位,后续乘法除法的基础。
5、整数表示,范围,所谓的类型本质,就是定义有效位,都是为了解决实际问题。(人类只发明了电子电路,其他的都是人类自定义的。所以有人说计算机不是科学,我觉得也是。我认为它是艺术。)
6、定义了不同类型,就得考虑类型转换,因为它们存储本质是相同。所以引入了数学概念,映射。
7、终于可以表示计算了。加法问题在哪?溢出!从回前面的概念,群的映射来解决问题。都是数学公式,其实不难,耐着性子看完就觉得原来如此了。
8、特殊乘除。为什么?乘除太慢!!。2的幂。想到移位!!上界下界的变换。x/y的上界 = (x+y-1)/y的下界。比如你想求x/20的上界。但是不想除完加一。
9、浮点数了。如何表示?规格化。
作业:
还没写呢。。。之后以代码的方式补上。
既然是lenging by doing。先说反复提到的程序。show_bytes。
程序原理:
1、指针类型强转。2、显示16进制数。就这两步。
实验:
运行ubuntu10.04.(机器太破。而且我不习惯新版的UI。。)。
测试数据12345。结果39 30 00 00.传递指针的结果是可变数值。
分析:
本书的实质是什么?深入理解系统。12345存储的实质是0x00003039,小端机中以0x393000存储,C语言中,int型实质是什么,32位二进制数。int指针的实质是什么?指向32为首地址,并且告诉程序,一次读取4字节。强转的意思是什么?char * 占1字节,及一次读取1字节。通过传输首地址我们就能打印该地址存储的实质是什么。
结论:
计算机中信息的表示就是二进制,系统定义了如何解读二进制。
第一章组织结构是:
1、机器中存储实质是二进制
2、二进制的计算是什么?布尔运算。
3、升级版?逻辑运算。
4、讲完普通运算,二进制高级运算——移位,后续乘法除法的基础。
5、整数表示,范围,所谓的类型本质,就是定义有效位,都是为了解决实际问题。(人类只发明了电子电路,其他的都是人类自定义的。所以有人说计算机不是科学,我觉得也是。我认为它是艺术。)
6、定义了不同类型,就得考虑类型转换,因为它们存储本质是相同。所以引入了数学概念,映射。
7、终于可以表示计算了。加法问题在哪?溢出!从回前面的概念,群的映射来解决问题。都是数学公式,其实不难,耐着性子看完就觉得原来如此了。
8、特殊乘除。为什么?乘除太慢!!。2的幂。想到移位!!上界下界的变换。x/y的上界 = (x+y-1)/y的下界。比如你想求x/20的上界。但是不想除完加一。
9、浮点数了。如何表示?规格化。
作业:
还没写呢。。。之后以代码的方式补上。
相关文章推荐
- 【深入理解计算机系统】_2_计算机系统中的信息表示
- CS:APP3e 深入理解计算机系统_3e MallocLab实验
- 深入理解计算机系统——第02章——信息的表示和处理
- 深入理解计算机系统_3e 第六章家庭作业 CS:APP3e chapter 6 homework
- 深入理解计算机系统 第2章 信息的表示和处理
- 深入理解计算机系统_3e 第八章家庭作业 CS:APP3e chapter 8 homework
- 深入理解计算机系统_3e 第三章家庭作业 CS:APP3e chapter 3 homework
- 深入理解计算机系统(2.1)------信息的存储和表示
- 知其然,也要知其所以然,《CS: APP--深入理解计算机系统(原书第2版)》 书评
- 深入理解计算机系统--信息表示和处理
- 深入理解计算机系统学习之信息的表示和处理
- CS:APP3e 深入理解计算机系统_3e Y86-64模拟器指南
- CS:APP3e 深入理解计算机系统_3e Datalab实验
- 深入理解计算机系统_3e 第十一章家庭作业 CS:APP3e chapter 11 homework
- 【深入理解计算机系统】_2_计算机系统中的信息表示
- 深入理解计算机系统_3e 第十章家庭作业 CS:APP3e chapter 10 homework
- 深入理解计算机系统(第二版)----之二:(一:程序的结构和执行)信息的表示和处理
- 深入理解计算机系统_3e 第二章家庭作业 CS:APP3e chapter 2 homework
- 深入理解计算机系统(2.1)------信息的存储和表示