2017-2018-1 20155220 《信息安全系统设计基础》第三周总结
布尔代数
- 二进制值1和0表示逻辑值TURE和FALSE,即非真即假(1为真,true;0为假,false)。
- 运算为:&,|,!,。1&1=1,1&0=0,0&0=0;1|1=1,1|0=1,0|0=0;!1=0,!0=1;11=1,10=1,00=0。
位移运算
- 位移运算即向左或者向右移动位模式的运算。x向左移动k位,丢弃最高的k位,并在右端补k个0。移位量应该是一个0~w-1之间的值。有一个相应的右移运算,但是它的行为有点微妙。
- 一般而言,机器支持两种形式的右移:逻辑右移和算术右移。逻辑右移在左端补k个0,算术右移是在左端补k个最高有效位的值。
补码编码
-
最常见的有符号数的计算机表示方式。正数的补码=原码;负数的补码=原码各位取反再加1。
-
补码的最高位是表示符号位,解释为负权,“权重”为-2的(w-1)次方,即无符号表示中的权重的负数。符号位为1,表示值为负,符号位为0,表示值为非负
补码的范围:-2(w-1)~2(w-1)-1,即|TMin|=|TMax|+1 -
无符号数编码(U)和补码(T):UMax = 2 TMax +1 。
有符号数和无符号数的转换
- 有符号数换为无符号数:非负数——保持不变;负数——加上2^w,转换成大正数。
- 无符号数换为有符号数:以2的w-1次方为界限,小于它——保持不变;大于它——减去2^w,转换为负数值。
浮点数
-
二进制小数:小数的二进制表示法只能表示那些能够被写成x X (2^y)的数,其他的值只能近似的表示。
以小数点为界:左边第i位,权重为2的i次幂;右边第i位,权重为1/2的i次幂。 -
浮点运算:
- 浮点加法:浮点加法是可交换的;浮点加法不具结合性;大多数值的浮点加法都有逆元,除了无穷和NaN;浮点加法满足单调性。
- 浮点乘法:浮点乘法是可交换的、浮点乘法不具有结合性、浮点乘法的单位元为1.0、浮点乘法在加法上不具备分配性;在一定条件下满足单调性。
尽量简单的总结一下本周学习内容
尽量不要抄书,浪费时间
看懂就过,看不懂,学习有心得的记一下
教材学习中的问题和解决过程
-
问题1:IEEE的浮点表示是什么?
-
用V = (-1)s * M * 2E的形式来表示一个数:
-
符号:s决定这个数是负数(s = 1)还是正数(s = 0),数值0的符号位解释作为特殊情况处理。
-
尾数:M是一个二进制小数,它的范围是1 ~ 2-ε,或者是0 ~ 1-ε。
-
阶码:E的作用是对浮点数据加权,这个权重是2的E次幂(可能是负数)。
-
代码调试中的问题和解决过程
代码托管
结对及互评
点评模板:
- 博客中值得学习的或问题:
- xxx
- xxx
- ...
- 代码中值得学习的或问题:
- xxx
- xxx
- ...
- 其他
本周结对学习情况
- [结对同学学号1](博客链接)
- 结对照片
- 结对学习内容
- XXXX
- XXXX
- ...
其他(感悟、思考等,可选)
xxx
xxx
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 2/2 | 5/5 | |
第二周 | 100/100 | 3/4 | 10/15 | |
第三周 | 100/200 | 4/5 | 20/35 |