20135219洪韶武——信息安全系统设计基础第三周学习总结

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

学习内容:教材第二章/实验楼                    

学习时长:10 小时               


 

一.教材知识点梳理

1.信息存储

  *机器级程序将存储器视为一个非常大的字节数组,成为虚拟存储器;存储器的每个字节都由一个唯一的数字来标识,成为他的地址

  *十六进制表示法/十进制和十六进制转换

  *排列表示一个对象的字节的两个通用规则:小端法/大端法

  *字节变可见的三种情况

  *C语言中字符串被编码为一个以null字符结尾的字符数组

  *位级运算/逻辑运算/移位运算

2.整数表示

  *整数数据类型表示有限范围的整数

  *无符号编码,有符号编码,无符号数和有符号数之间转换

  *C语言中无符号有符号数之间的转换原则:底层的位保持不变

  *零扩展:在一个无符号数表示的开头添加0

  *符号扩展:在表示中添加最高有效位值的副本

  *无符号数的截断结果/补码数字的截断结果

3.整数运算

  *无符号加法/补码运算

4.浮点数

  *从二进制小数理解浮点数

  *IEEE浮点格式标准:P70

  *根据exp值,被编码的值可以分为三种情况

  *舍入的关键问题是在两个可能值的中间确定舍入方向

  *浮点运算

二.重点知识点理解(实验楼要求)

1.无符号数、有符号数(2进制补码)、浮点数,从逆向角度考虑为什么会产生漏洞?

  任何漏洞产生都必然因为系统不可更改的局限性/无符号数、有符号数、浮点数的局限性/无符号数或者有符号数的表示范围有限,而浮点数虽然编码范围大,但是不精确

2.gcc -m32 可以在64位机上生成32位的代码

3.在C语言中,所有以0X或者0x开头的数字常量都常被认为是十六进制的值

4.字节顺序的两种表示方法:小端是“高对高、低对低”,大端与之相反

5.代码执行一下

6.文本数据比二进制数据具有更好的平台适应性。

7.将有符号数强转成无符号数之后,数字的数值发生改变,然而其位表示不变。

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

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

9.零扩展类似于逻辑左(右)移

  将一个无符号数转换为一个更大的数据类型,简单地在前面加上0。符号扩展类似于算数左(右)移。即:将一个补码数字转换为一个更大的数据类型,在表示中添加最高有效位值得副本。

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

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

11.整数与浮点数转换规则

  整数转换成二进制表示,然后小数点左移若干位得到规格化表示;取出小数部分的数值,在后面补0使其达到23位; 用frac加上偏置量得到的结果用二进制表示,放在取出的部分前面,再加上一个符号位即可。

三.学习体会

  这周学习我看课本更多,相比以往我感觉看课本这种方式比做实验楼要更好理解知识一些,而且跟着老师的问题有重点的看,感觉学起来比之前轻松了一点。

posted @ 2015-10-04 13:24  5219hsw  阅读(193)  评论(0编辑  收藏  举报