2018-2019-1 20165225《信息安全系统设计基础》第二周学习总结
教材学习总结
进制
常用进制:二进制(B),十进制(D),八进制(O或者Q),十六进制(H)
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。
所谓布尔类型就是ture,false 或者0,1 即非真即假。
位向量:有固定长度为w、由0和1组成的串。
C和C++都支持有符号和无符号数,Java只支持有符号数。
有符号整数还可以用反码和原码表示。
逻辑符号:
常用运算符号: 与: & 或: | 非: ~ 异或:^
逻辑运算符有:||,&&,!
表示条件判断,常来用作条件的选择。
位运算符有:|,&,~等。
编程习惯注意 : |(或运算符)与 ||(逻辑或)是不一致的。
| 运算符常用来做位的选取,组合效果的设置。
|| 常用来做条件判断。
编程习惯注意 : ~(按位取反)与 !(非)是不一致的。
~运算符,意思是按位取反,例如~0011(B)为 1100
!运算符,如果原表达式不为0,则 ! 后为0,否则为1
整数表示
信息=位+上下文
无符号整数:B2U4[0011]=0·2^3+0·2^2+1·2^1+1·2^0=3
有符号整数-补码编码:B2T4[1011]=-1·2^3+0·2^2+1·2^1+1·2^0=-5
无符号数表示需加后缀字符u
浮点数
二进制小数
IEEE浮点表示:math V=(-1)^sM2^E
符号s决定着这个数是负数(s=1)还是正数(s=0)
尾数 M是一个二进制小数,n位小数字段f=fn-1…f1f0编码尾数M,阶码 E的作用是对浮点数加权,这个权重是2^E,e=ek-1…e1e0
偏移常数 math Bias = {2^k}{^-}{^1}-1
32位浮点数:image
规格化的值 E=e-Bias M=1+f
非规格化的值 E=1-Bias M=f
补码
补码的最高位是表示符号位,解释为负权,“权重”为-2的(w-1)次方,即无符号表示中的权重的负数。符号位为1,表示值为负,符号位为0,表示值为非负(不是正,因为有0)。
无符号数编码(U)和补码(T):UMax = 2 TMax + 1
浮点表示对形如V=x X (2^y)的有理数进行编码,适用于非常大的数字或者非常接近于0的数字或者作为实数运算的近似值。
大端小端测试:
课上测试:
遇到的问题
- 设置完断点后打印v的值为0;
- 解决:打印v的过程中因为设置的断点为3,故需执行s(下一步)才能得到赋值。
教材 p97 2.96 2.97
2.96
2.97
结对学习
学习进度条
|
代码行数(新增/累积) |
博客量(新增/累积) |
学习时间(新增/累积) |
重要成长 |
目标 |
3500行 |
12 |
14小时 |
|
第一周 |
63/150 |
1/12 |
3小时 |
|
第二周 |
150/150 |
2/12 |
10小时 |
|