2017-2018-1 20155328 《信息安全系统设计基础》第3周学习总结
教材学习内容总结
-
排列表示一个对象的字节有两个通用的规则:小端法(最低有效字节在最前面)和大端法(最高有效字节在前面)。
-
表达式x>>k会将x算术右移k(左端补k个有效位)个位置,而x>>>k会对k做逻辑(左端补k个0)右移。
-
要将一个补码数字转换为一个更大的数据类型,可执行一个符号扩展。
-
在相同长度的无符号和有符号整数之间进行强制类型转换时,大多数C语言实现遵循的原则是底层的位模式不变。
-
最常见的浮点表示方式是由IEEE标准754定义的。它提供了几种不同的精度,最常见的是单精度(32位)和双精度(64位)。
教材学习中的问题和解决过程
- 问题1:在看有符号数和无符号数之间的转换时,对转换规则中“位模式不变”产生了疑惑。
- 问题1解决方案:强制类型转换的结果保持位值不变,转换前的负数补码表示与转换后的16位无符号数表示是完全一样的。
代码调试中的问题和解决过程
-
问题1:课本第58页的练习题2.25,照着书上的代码敲下来,发现当数组长度代入0时运行程序,出现内存错误,如图:
-
解决方案1:将代码中的
i<=length-1
修改成了i<length
,运行后结果正确。
因为sum.c中将length定义为无符号数,当length为0时减一就是UMAX。而for循环的终止条件是i<=length-1,所以出现了数组越界问题,也就有了内存错误。
代码托管
上周考试错题总结
无法查看错题。
结对及互评
本周结对学习情况
- [20155325](http://www.cnblogs.com/GDDFZ/)
-结对学习内容:教材第十章、第二章。
其他(感悟、思考等,可选)
希望自己以后增强练习,提高解决问题的能力。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 40/40 | 1/1 | 20/20 | |
第二周 | 40/40 | 1/2 | 18/38 | |
第四周 | 154/194 | 2/4 | 20/58 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:25小时
-
实际学习时间:20小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)