• 20145331 《信息安全系统设计基础》第3周学习总结


    20145331 《信息安全系统设计基础》第3周学习总结

    教材学习内容总结

    2.1

    1、三种重要的数字表示:无符号、补码、浮点数;"长"整数要使用机器的全字长;64位整数对于32位机器来说要把这种数据类型的操作编译成执行一系列32位操作的代码。

    2、字节顺序:多字节对象都被存储为连续的字节序列,对象的地址为字节中最小的地址。

    3、小端法:低有效字节放在最前面。 (低对低,高对高) 大端法:最高有效字节在最前面。

    4、布尔代数、位向量:位向量就是有固定长度w、由0和1组成的串。应用:位向量掩码。

    5、位级运算:与、或、非、异或。

    6、逻辑运算:所有逻辑运算都可以用与、或、非表达(最大式、最小式),而与或非可以用“与非”或“或非”表达,所以,只要一个与非门,就可以完成所有的逻辑运算。

    2.2

    1、无符号数编码范围:0~2^w-1(UMax) w为长度。

    2、补码编码范围:-2^(w-1)~2^(w-1)-1 (TMin~TMax)。

    3、有符号数无符号数转换:数值可能会变,但位模式不变。

    4、创建无符号常量,加后缀字符U、u。

    5、一个运算包含有符号数和无符号数,会把有符号数强制转换为无符号数,并假设这两个数非负。

    6、扩展

    a、0扩展:对象为无符号数,前面补0。
    b、符号扩展:对象为补码,原补码最高位是几就在前面补几。

    2.3

    1、溢出:超过字长限制就会发生溢出,但溢出是不会报错的。

    2、补码加法:包含四种模式:

    a、正溢出:和减少2^w。
    b、负溢出:和增加2^w。
    c、d:正常情况直接相加。

    2.4

    1、增加二进制表示的长度可以提高精度。

    2、IEEE浮点表示和三个参数:用V = (-1)s 2E的形式来表示一个数。

    符号:s决定这个数是负数还是正数。
    尾数:M是一个二进制小数,它的范围是1 ~ 2-ε,或者是0 ~ 1-ε。
    阶码:E的作用是对浮点数据加权,这个权重是2的E次幂(可能是负数)。

    3、三种情况:

    1、规格化的值:E=e-bias bias=2^(k-1)-1 M=1+f 隐含的以1开头的表示(第一位是1就不用显示,获得一个额外精度位)
    2、非规格化的值:E=1-bisa M=f
    3、特殊值:小数域全为0时,s=0是正无穷,s=1是负无穷;小数域不为0,“NaN”

    4、舍入:(共四种)默认方式:向偶数舍入:找一个最接近的匹配值、将数字向上/下舍入,使结果最低有效数字是偶数。

    学习中的问题和解决过程

    1、p74将整数转换为浮点数时就是算不对:

    发现错误在构造小数段这里:把整数改为二进制的科学计数法表示,舍弃1之后,我想当然地用符号扩展的知识在前面开始补0,最后发现要在末尾补位,不过为啥要在后面补。。。

    2、p58表格情况2、3不知道有什么区别,只是正负不同么?

    3、忘记怎么在开源中国里创建新的项目了,这几天一定搞明白创建好重新上传。

    本周代码托管截图

    https://git.oschina.net/20145331/java-besti-is-2015-2016-2-20145331.git  

    其他(感悟、思考等,可选)

    国庆爱学习,越学越开心!

    学习进度条

     代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
    目标 5000行 30篇 400小时  
    第一周 20/20 1/2 13/20  
    第二周 50/70 1/3 15/38  
    第三周 100/170 1/4 20/60

    参考资料

    《深入理解计算机系统V2》学习指导

  • 相关阅读:
    Swift中的单例的实现方式
    关于iOS自定义UITabBar的几种方法
    iOS数据持久化(三)
    iOS数据持久化(二)SQLite
    iOS数据持久化(一)
    iOS自定义NavigationBar
    UINavigationController基本使用
    UILabel 整理
    [DEMO]AR 1
    [分享]自主行驶小车idea
  • 原文地址:https://www.cnblogs.com/bosswsc/p/5928276.html
Copyright © 2020-2023  润新知