首页 > 代码库 > 20145321 《信息安全系统设计基础》第3周学习总结

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

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

教材学习内容总结

第二章 信息的表示和处理

计算机存储和处理信息以二值信号表示。

三种最重要的数字表示法

  1. 无符号:基于传统的二进制表示法,大于等于0
  2. 补码:有符号整数
  3. 浮点数:实数的科学计数法的以二进制为基数的版本

p22: 二进制、八进制、十进制、十六进制进制转换(方法:使用二进制作中间结果)
十六进制:以0x或0X开头表示,字符A-F可大写、可小写、也可混用。

p25: gcc -m32 可以在64位机上(比如实验楼的环境)生成32位的代码
当没有-m32或-m64参数时,一般情况下会生成跟操作系统位数一致的代码

大端法——是高字节数据存放在低地址处,低字节数据存放在高地址处

p32: 能区分逻辑运算(结果是1或0)和位运算(结果是位向量),所有逻辑运算都可以用与、或、非表达(最大式、最小式),而与或非可以用“与非”或“或非”表达,所以,只要一个与非门,就可以完成所有的逻辑运算。

p33: 掩码是位运算的重要应用,对特定位可以置一,可以清零

p38: 要用C99中的“long long”类型,编译是要用 gcc -std=c99

p39: 补码的利用寄存器的长度是固定的特性简化数学运算。想想钟表,12-1 等价于 12 + 11,利用补码可以把数学运算统一成加法,只要一个加法器就可以实现所有的数学运算。

p54: 如何让整数运算溢出?如何避免? p62例子看看

p67: 浮点数有科学计数法的基础就不难理解,IEEE标准754
p68: 浮点数运算的不精确性与舍入
p70: IEEE浮点标准,float/double类型
IEEE浮点格式定义了四种不同的舍入方法:
向偶舍入(默认):将数字向上或向下舍入,是的结果的最低有效数字为偶数。能用于二进制小数。
向零舍入:把整数向下舍入,负数向上舍入。
向下舍入:正数和负数都向下舍入。
向上舍入:正数和负数都向上舍入。

C提供两种浮点类型:float和double,在支持IEEE浮点标准的机器上分别表示单精度和双精度浮点数。
float中:s、exp和frac字段分别为1位、k = 8 位和n = 23位,得到一个32位的表示;
double中:s、exp和frac字段分别为1位、k = 11 位和n = 52位,得到一个64位的表示。

符号:s决定这个数是负数(s = 1)还是正数(s = 0),而对于数值0的符号位解释作为特殊情况处理。
尾数:M是一个二进制小数,它的范围是1 ~ 2-ε,或者是0 ~ 1-ε。
阶码:E的作用是对浮点数据加权,这个权重是2的E次幂(可能是负数)

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

P30页代码问题

p30页代码无法编译通过,在寻求同学帮助之后,明白是因为没有main函数。

技术分享

代码托管

技术分享

地址:http://git.oschina.net/5321/XASJ/tree/WEEK3

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

 

  • 本周的需要掌握大量的书本内容,不如前两周的内容简单易懂,需要仔细阅读书本,查找相关内容,反复练习习题才能搞清楚。目前还在练习课后习题。关于这章的内容,很多东西都是看起来很熟悉,我曾经学习过或者接触过,但现在还尚不能完全理解其中的知识内容。

    学习进度条

 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标3500行30篇300小时 
第一周50/501/210/10 
第二周120/1701/320/30 
第三周130/3001/420/50 

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