Learning by doing 二 深入理解计算机系统(CS:APP)一信息表示
来源:互联网 发布:java对象存储数据库 编辑:程序博客网 时间:2024/05/24 03:06
先说标题。直译是,《计算机系统:一种程序员的视角》。翻译成深入,确实很微妙。
既然是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、浮点数了。如何表示?规格化。
作业:
还没写呢。。。之后以代码的方式补上。
- Learning by doing 二 深入理解计算机系统(CS:APP)一信息表示
- 《CS:APP》(深入理解计算机系统》reading notes
- cs app lab1 深入理解计算机系统
- 深入理解计算机系统之旅(二)信息在计算机中的表示和处理
- 《深入理解计算机系统》学习笔记(一):信息的表示和处理
- 深入理解计算机系统(笔记):信息的表示和处理
- 深入理解计算机系统(2.1)------信息的存储和表示
- 深入理解计算机系统(2.1)------信息的存储和表示
- 深入理解计算机系统--信息表示和处理
- [深入理解计算机系统] 计算机中的信息表示
- 【深入理解计算机系统】_2_计算机系统中的信息表示
- 《深入理解计算机系统》笔记一:信息的表示与处理(2)——整数的表示
- 深入理解计算机系统(一、计算机系统漫游)
- 知其然,也要知其所以然,《CS: APP--深入理解计算机系统(原书第2版)》 书评
- 《深入理解计算机系统》(二)
- 《深入理解计算机系统》(一)
- 深入理解计算机系统(一)
- 深入理解计算机系统----->信息的表示和处理笔记
- 跨进程访问类、资源的方法
- 8bit系列PIC单片机 热门列表
- 世界三大字母体系
- 最简单的时间服务器
- matlab中size函数
- Learning by doing 二 深入理解计算机系统(CS:APP)一信息表示
- sizeof与strlen
- opengl纹理
- 汉字的内码和区位码与显示汉字原理
- 《Head First Java》读书笔记——认识Java的API
- Android--把文件发送给另一个设备
- 解决asp.net中:名称以无效字符开头.处理资源
- 微博上一哥们这么买房的
- uva 10891 - Game of Sum