2017-2018-1 20155321 《信息安全系统设计基础》第三周学习总结
教材学习内容总结
本周主要学习了信息是如何在计算机里进行存储和处理的,学习了整型数和浮点数的表达方式,复习了以前学习的原码、反码和补码以及他们相应的运算
教材学习中的问题和解决过程
-
问题1:教材P31代码:显示不同类型的字节表示,在测试这段代码时,我均使用了变量x调用
show_int()
,show_float()
和show_pointer()
函数,结果有很大的不同,如下图所示(在输出打印时,直接以%x
的格式进行输出)
-
问题1解决方案:可以看到,尽管x在逻辑上感觉几乎没有不同,但是计算机底层存储还是有很大的差别的,首先x是有符号数,使用
%.2x
的输出格式较易看出int型和float型均为4个字节,而void为4个字,在实际存储的过程中,int型最高位为符号位,剩下位以补码形式储存,float型的最高同样是符号位,剩下位中第23位至第30位表示指数,第0位至第22位表示小数,具体算法就是(-1)^S * (1.0 + D) * 2^E,因此两者所表示的数值的范围也是不一样的 -
问题1解决方案的参考资料
-
问题2:教材P38页的两道习题,通过测试代码较易发现当数组长度为奇数时运行结果有误
-
问题2解决方案:通过单步调试较易发现是for循环的判断条件出了问题,稍微调整一下把
first<=last
改为first<last
即可,调整后运行就没有问题了
-
问题3:教材P53,直接用代码进行实现来验证结果
-
问题3解决方案:根据程序结果显示
代码调试中的问题和解决过程
- 问题1:教材P54,虚拟机上运行的结果与书本给的结果不太一样
- 问题1解决方案:根据前面所学的知识,应该是与自身电脑的存储方式与书本的刚好相反导致的
代码托管
上周考试错题总结
-
错题:计算机中总线传送定长的数据,这个定长是( ),是一个基本的系统参数
A .字节 B .字 C .双字 D .四字
-
原因:看书的时候不够仔细错选A,正确答案应选B
-
理解情况:书本P5说明,通常总线被设计成传送定长的字节块,也就是字。字中的字节数是一个基本的系统参数
本周结对学习情况
- 20155330
- 结对学习内容
- 书本第二章的内容
其他(感悟、思考等,可选)
个人感觉本周的学习理论知识较多,教材讲解了多种数据类型在内存中存储的方式、各种编码及其运算,在实际学习的过程中,还是要把相应的代码敲一敲,有助于加深自己的理解
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 20篇 | 400小时 | |
第一周 | / | 1/1 | 15/15 | |
第二周 | / | 1/2 | 15/ 30 | |
第三周 | 196/278 | 1/3 | 15/45 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:12小时
-
实际学习时间:15小时
-
改进情况:改善自学看书的方法,提高看书学习效率
(有空多看看现代软件工程 课件 软件工程师能力自我评价表)