20145337 《信息安全系统设计基础》第3周学习总结
教材学习内容总结
第一节 信息存储
1、十六进制表示法
- 与: &
- 或: |
- 非: ~
- 异或:^
位运算:位向量按位进行逻辑运算,结果还是位向量(区别于逻辑运算)安全
4、逻辑运算
逻辑运算符
- 与:&&
- 或:||
- 非:!
- 逻辑运算的计算结果:
- 全部非零参数都表明TRUE,0参数表明FALSE
- 逻辑运算和位运算的区别
- 只有当参数被限制为0或1时,逻辑运算才与按位运算有相同的行为。
若是对第一个参数求值就能肯定表达式的结果,逻辑运算符就不会对后面的参数求值。学习
5、移位运算
- 右移分为逻辑右移和算术右移
- 逻辑右移:
- 在左端补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、有符号数和无符号数的转换
- 有符号数换为无符号数
- 非负数——保持不变
-
无符号数换为有符号数
以2的w-1次方为界限:
小于它——保持不变
大于它——减去2^w,转换为负数值设计
3、扩展
- 零扩展
多用于无符号数转换为一个更大的数据类型。
只需在开头加上0便可。
- 符号扩展多用于补码数字转换
最高有效位是什么,就添加什么。htm
4、截断
- 将一个w位的数截断为k位数字时,就会丢弃高w-k位。
- 对于无符号数来讲,就至关于 mod 2的k次幂
对于有符号数来讲,先按照无符号数截断,而后再转化为有符号数blog
第三节 整数运算
- 整数运算即mod 2^w。
- 非
- 补码的非运算
对于范围在[-2^(w-1),2^(w-1))中的x,补码的非运算有以下两种状况:
- x=-2^(w-1)时,为-2^(w-1);
- x>-2^(w-1)时,为-x;
- 求位级补码非
- 对每一位求补,再对结果+1
- 设k为最右面的1的位置,将k左边的全部位取反。
- 乘以常数
- 常数为2的k次幂的时候
直接左移k位便可。
- 常数不是2的整数次幂的时候
将常数C表示为2的几个整数次幂的和,结合移位运算和加法运算。
- 无符号数——逻辑右移
无符号数除以2的k次幂,就等同于对其逻辑右移k位。
- 补码——算术右移
- x≥0时,除以2的k次幂等价于将x算术右移k位
x<0时,先将x加上(2^k)-1,再算术右移k位资源
第四节 浮点数
1、二进制小数
- 小数的二进制表示法只能表示那些可以被写成x X (2^y)的数,其余的值只能近似的表示。
- 权重
以小数点为界:
左边第i位,权重为2的i次幂
右边第i位,权重为1/2的i次幂
2、IEEE浮点表示
- IEEE浮点标准:
- 用V=(-1)^s X 2^E X M 来表示一个数:
- 符号:s决定这个数是正仍是负。0的符号位特殊状况处理。
- 阶码:E对浮点数加权,权重是2的E次幂(可能为负数)
- 尾数:M是一个二进制小数,范围为1~2-ε或者0~1-ε(ε=1/2的n次幂)
- 编码规则:
- 单独符号位s编码符号s,占1位
- k位的阶码字段exp编码阶码E
- n位小数字段frac编码尾数M(同时须要依赖阶码字段的值是否为0)
- 两种精度
- 单精度(float),k=8位,n=23位,一共32位;
- 双精度(double),k=11位,n=52位,一共64位。
三种被编码状况:
规格化的、
非规格化的、
特殊值
3、舍入
- 向偶舍入
即:将数字向上或向下舍入,是的结果的最低有效数字为偶数。
- 向零舍入
把整数向下舍入,负数向上舍入。
- 向下舍入
正数和负数都向下舍入。
- 向上舍入
正数和负数都向上舍入。
- 浮点加法:
浮点加法是可交换的、
浮点加法不具结合性
- 大多数值的浮点加法都有逆元,除了无穷和NaN。
- 浮点加法知足单调性
- 浮点乘法:
浮点乘法是可交换的、
浮点乘法不具备结核性、
浮点乘法的单位元为1.0、
浮点乘法在加法上不具有分配性、
在必定条件下知足单调性、
代码托管截图
git.shiyanlou.com/20145337

感悟
目标 |
5000行 |
30篇 |
400小时 |
|
第一周 |
200/200 |
2/2 |
20/20 |
|
第二周 |
300/500 |
2/4 |
18/38 |
|
第三周 |
500/1000 |
3/7 |
22/60 |
|
参考资料