zoukankan      html  css  js  c++  java
  • 2017-2018-1 20155230 《信息安全系统设计基础》第三周学习总结

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

    教材学习内容总结

    • 二进制小数表示方法是依据小数点后几位来表示对应的2的负几次方,如二进制小数0.001表示十进制小数0.125,不过这种表示方法只能在表示x/2^n时能十分精确,形如十分之一这类分母不是2的几次方的小数,计算机只能通过二进制小数来近似表示。这类小数在不同的计算机容易引起不必要的误差。

    • 我们知道了什么是虚拟存储器,也知道在计算机中这些基本进制的转换。然后就知道了信息在计算机中的大小用字来衡量,而且其中还有整数和浮点数的区分。还有IEEE标准下的浮点运算。C语言中浮点数分为float和double类型。在相同长度的无符号和有符号整数之间进行强制类型转换时,大多数C语言实现遵循的原则是底层的位模式不变。由于编码的长度有限,与传统整数何实数运算相比,计算机运算具有完全不同的属性。 掩码是位运算的重要应用,对特定位可以置一,可以清零。所有逻辑运算都可以用与、或、非表达(最大式、最小式),而与或非可以用“与非”或“或非”表达,所以,只要一个与非门,就可以完成所有的逻辑运算。

    1.进制

    • 二进制、八进制、十进制、十六进制(转换:以二进制作为中间变量)

    2.字

    • 每台计算机都有一个字长,指明整数和指针数据的大小。

    • 虚拟地址是以这样的一个字来编码的,字长决定虚拟地址空间的最大大小。
      3.字节顺序

    • 小端法——在存储器中按照从最低有效字节到最高有效字节的顺序存储对象。

    • 大端法——从最高有效字节到最低有效字节的顺序存储。

    4.布尔代数

    • (1)二进制值是计算机编码、存储、操作信息的核心(0、1),最简单的布尔代数是在二元集合{0,1}上的定义。
    • (2)一个布尔代数,是指一个有序的四元组〈B,∨,∧,〉,其中B是一个非空的集合,∨与∧是定义在B上的两个二元运算,是定义在B上的一个一元运算,并且它们满足一定的条件。
    • (3)布尔值有两个,真(用1表示)和假(用0表示)。
    • (4)布尔值的基本运算是基本逻辑运算,如:逻辑与,逻辑或,逻辑非,异或,同或等等。有自己的一套概念如最大项、最小项、卡诺图、反演律、吸收律之类。

    5.整数表示

    • 数据类型long long是在ISO C99中引入的。(编译:gcc -std=c99)。
    • 64位机器用8个字节表示;32位机器用4个字节表示。
    • 负数的范围比整数的范围大1。

    6.补码

    • 补码是最常见的有符号数的计算机表示方式。

    • 正数的补码=原码

    • 负数的补码=原码各位取反再加1

    • 最高有效位也叫符号位。

    7.无符号数与有符号数转换

    • 强制类型转换的结果保持位值不变,改变解释这些位的方式。
    • 处理同样字长的有、无符号数之间相互转换的规则:数值可能会变,但是位模式不变。(底层的位表示保持不变)

    8.扩展数字的位表示

    • 零扩展:在开头添0。(将无符号数转换成更大的数据类型)
    • 符号扩展:添加最高有效位的值的副本。(一个补码数字转换成更大的数据类型)

    9.浮点数:标准:IEEE标准754

    (1)二进制小数
    定点表示法:“.”为界(不能有效的表示很大的数)

    十进制:小数点左边的数字的权是10的非负幂,得到整数值;右边的数字的权是10的负幂,得到小数值。
    二进制:小数点左边的数字的权是2的非负幂,右边的数字的权是2的负幂。
    (2)IEEE浮点表示

    • 用V = (-1)s * M * 2E的形式来表示一个数:
    符号:s决定这个数是负数(s = 1)还是正数(s = 0),而对于数值0的符号位解释作为特殊情况处理。
    尾数:M是一个二进制小数,它的范围是1 ~ 2-ε,或者是0 ~ 1-ε。
    阶码:E的作用是对浮点数据加权,这个权重是2的E次幂(可能是负数)。
    
    • 将浮点数的位表示划分为三个字段,分别对这些值进行编码:
    一个单独的符号位s直接编码符号s。
    k位的阶码字段exp = ek-1…e1e0编码阶码E。
    n位小数字段frac = fn-1…f1f0编码尾数M,但是编码出来的值也依赖于阶码字段的值是否等于0。
    
    • 两种常见的格式:C语言中的单精度浮点格式float 和双精度浮点格式double。
    在float中,s、exp和frac字段分别为1位、k = 8 位和n = 23位,得到一个32位的表示;
    在double中,s、exp和frac字段分别为1位、k = 11 位和n = 52位,得到一个64位的表示。
    

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

    1.怎么样让负数等于正数?

    • 在负数x后加上U,可以使其转换为(2^w+x)

    2.整数与浮点数表示同一个数字的关系?

    • 整数与浮点数表示同一个数字时,化成二进制形式之后,可以看到,整数等于1 的最高有效位之后的数字,与浮点数小数部分的高位是相匹配的

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

    20155209

    上周考试错题总结

    • 上周无错题。

    本周结对学习情况

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

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 7/7 1/1 4/4
    第三周 62/69 2/3 15/19

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

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

    • 计划学习时间:XX小时

    • 实际学习时间:XX小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    操作系统面试题(四)
    计算机网络面试题(三)
    redis和mongodb面试题(一)
    MySQL面试题(二)
    数据库基础面试题(一)
    RoBERTa模型总结
    BERT模型总结
    动态规划-Dynamic Programming(DP)
    XGBoost原理学习总结
    re模块的使用
  • 原文地址:https://www.cnblogs.com/J1n233/p/7660117.html
Copyright © 2011-2022 走看看