20145230 《信息安全系统设计基础》第3周学习总结
20145230 《信息安全系统设计基础》第3周学习总结
教材学习内容总结
本周要求我们学习的知识是《信息的表示和处理》,首先我们知道了什么是虚拟存储器,也知道在计算机中这些基本进制的转换。然后就知道了信息在计算机中的大小用字来衡量,而且其中还有整数和浮点数的区分。还有IEEE标准下的浮点运算。C语言中浮点数分为float和double类型。在相同长度的无符号和有符号整数之间进行强制类型转换时,大多数C语言实现遵循的原则是底层的位模式不变。由于编码的长度有限,与传统整数何实数运算相比,计算机运算具有完全不同的属性。 掩码是位运算的重要应用,对特定位可以置一,可以清零。所有逻辑运算都可以用与、或、非表达(最大式、最小式),而与或非可以用“与非”或“或非”表达,所以,只要一个与非门,就可以完成所有的逻辑运算。总之,本章学的都是关于信息的内容,大多数内容书中都有,我就不一一说了。
Linux下的编译与运行
强制类型转换
下面这一段代码使用强制类型转换来访问和打印不同程序对象的字节表示。我们用typedef将数据类型byte_pointer定义为一个指向类型为“unsigned char”的对象的指针。
C语言中的有符号数和无符号数
当用printf输出数值时,分别用指示符%d、%u和%x以有符号十进制、无符号十进制和十六进制格式输出一个数字。注意printf没有使用任何类型信息,所以它可以用指示符%u来输出类型为int的数值,也可以用指示符%d输出类型为unsigned的数值:
教材学习中的问题和解决过程
28页的代码是不完整的代码,我们直接敲进去是不能运行的,需要我们自己加一个主函数:
31页下方有一个表示代码,它说不同的极其类型使用不同的且不兼容的指令和编码方式。例如:windows应该生成的是:55 89 e5 8b 45 08 5d c3。但我显示的东西很奇怪。
本周代码托管截图
链接:
20145230/IS-design-20145230 - 码云 - 开源中国 https://git.oschina.net/20145230/IS-design-20145230/tree/master
其他(感悟、思考等,可选)
这个星期的任务看上去很简单,就是把书本上第二章的内容学习就行,但翻开书才发现,第二张的内容并不简单,而且还有点繁琐。先讲讲自己相比以前的进步吧:这一周我自己敲了代码并且尝试着去编译了它,然后运行。怎么说呢,感觉虽然累了点,但毕竟那是自己一个字一个字敲上去的,还是很欣慰。其次,我看了卢肖明同学的那篇关于Ubuntu下如何git的博客,自己也去尝试安装了git,虽然最后没有成功,但我感觉还是不错。不足的地方就在于可能自己git的方法太过于愚笨,不够方便,是敲一个代码,然后上一次开源网站git一次,感觉十分麻烦。然后就是自己还是不够积极主动吧,也不愿意用vim去敲写代码,敲了一个最为简单的hello代码后,剩下书上的代码自己都是用code blocks来完成的,所以感觉自己还是没有积极地去运用vim去完成代码的编写,没有主动运用gcc去编译代码。希望下次自己能注意吧。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 2000行 | 20篇 | 400小时 | |
第一周 | 2/2 | 20/20 | 初步了解Linux的一些基本命令 | |
第二周 | 1/3 | 15/35 | 了解vim编辑器 | |
第三周 | 86/86 | 1/4 | 25/60 | 了解了信息的表示和处理 |