• 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小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    匿名,排序,过滤,映射,递归函数
    内置函数图
    for(var i in items) 和 for(var i;i<items.length;i++) 区别
    js中var、let、const的区别 (待总结)
    eclipse拉取git项目 Read timed out after 30,000 ms
    eclispe git config配置文件配置远程仓库
    git pull出错:cannot pull into a repository with state: merging_resolved"
    HttpClient之用CloseableHttpClient发送post请求
    注意设置httpclient连接数
    This compilation unit is not on the build path of java project (此编译单元不在java项目的生成路径上)
  • 原文地址:https://www.cnblogs.com/lxy1997/p/7674791.html
Copyright © 2020-2023  润新知