2017-2018-1 20155318 《信息安全系统设计基础》第三周学习总结

2017-2018-1 20155318 《信息安全系统设计基础》第三周学习总结

教材学习内容总结

本周学习了第二章信息的表示和处理的教材内容:

  1. 最高有效字节在最前面的方式:大端法
  2. 最低有效字节在最前面的方式:小端法
  3. 最高有效位Xw-1即符号位,权重为-2^(w-1),是无符号表示中全中的负数,符号位为1时,表示值为负,设置为0时,值为非负。
  4. 布尔运算^,每个元素的加法逆元为自身,即对于任何值a,a^a=0
  • ~ :逻辑运算NOT,非
  • & : AND 与
  • | : OR 或
  • ^ : 异或
  1. C语言中浮点数相互转换:
  • int->float:数字不会溢出,但可能被舍入
  • int或float->double:能保留精确的数值
  • double->float:值可能溢出成+∞或-∞,还可能被舍入
  • float或double->int:值将会向零舍入
  1. IEEE标准:用V=(-1)^s * M * 2^E,其中s是决定正负数,M是尾数frac,E是k位阶码字段exp
  2. 扩展一个数字的位:在不同字长的整数之间转换,同时又保持数值不变。
  3. 零扩展:无符号数转换为更大的数据类型,只需在开头填零。
  4. 符号扩展:有符号数转换为更大的数据类型,添加最高有效位的值。
  5. 截断数字:不用额外的位来扩展一个数值,而是减少表示一个数字的位数

教材学习中的问题和解决过程

  • 问题1:整数运算的溢出情况
  • 问题1解决方案:
  • 算术运算溢出:完整的整数结果无法放到数据类型的字长限制中。执行C程序时,不会将溢出作为错误而发出警告信号。判断无符号运算是否溢出,例如s=x+y(s、x、y均为无符号数),唯一可靠的判断标准就是s<x或s<y。
  • 计算机执行的“整数运算”实际上是一种模运算。表示数字的有限字长限制了可能的值的取值范围,结果运算可能溢出。
  • 补码表示提供了一种既能表示负数也能表示正数的灵活方法,同时使用了与执行无符号算术相同的位级实现,无论运算数是以无符号形式还是补码形式表示,都有完全一样或者非常类似的位级行为。

代码调试中的问题和解决过程

  • 问题1:运行statistics.sh脚本不能正常显示代码行数

  • 问题1解决方案:暂未解决

  • 问题2:运行课本代码时出现如下图所示问题

  • 问题2解决方案:

错误是有符号数到无符号书的隐式转换导致的,这种强制转换是在代码没明确指示下发生的

代码托管

上周考试错题总结

结对及互评

点评模板:

  • 博客中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 其他

本周结对学习情况

- [20155227](http://www.cnblogs.com/guyanlin/p/7607914.html)

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 1/1 3/3
第二周 100/100 1/2 3/6
第三周 300/400 1/3 4/10

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:5小时

  • 实际学习时间:4小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

原文地址:https://www.cnblogs.com/lxy1997/p/7674791.html