20175216 2019-2020-1 《信息安全系统设计基础》第二周学习总结
20175216 2019-2020-1 《信息安全系统设计基础》第二周学习总结
教材学习内容总结
-
排列表示一个对象的字节有两个通用的规则:小端法(最低有效字节在最前面)和大端法(最高有效字节在前面)
两者区别:
-
逻辑运算只有0或1两种结果,而位级运算进行的是按位处理。
-
表达式x>>k会将x算术右移k(左端补k个有效位)个位置,而x>>>k会对k做逻辑(左端补k个0)右移。
-
要将一个补码数字转换为一个更大的数据类型,可执行一个符号扩展。
-
long:32位机器:4字节;64位机器:8字节
-
负数的范围比整数的范围大1
-
无符号数的编码:
B2U(x->)=x*(2^x)之和 -
补码编码(计算机中最常见的有符号数表示方式):
B2T=最高位x最高位权重+其他位权重之和 -
要将一个补码数字转换为一个更大的数据类型,可执行一个符号扩展。
-
在相同长度的无符号和有符号整数之间进行强制类型转换时,大多数C语言实现遵循的原则是底层的位模式不变。
-
由于表示的精度有限,浮点运算是不可结合的(书中举例P20)。
-
浮点数的乘除法可以通过左移或者右移来进行计算。
-
浮点数的计算:根据表格:
-
C语言允许在各种不同数据类型之间做强制类型转换。但要注意,将负数转换为无符号数可能会得到0,且强制类型转换的结果保持位值不变,只是改变了解释这些位的方式。
-
C语言支持所有整数数据类型的有符号和无符号运算,大多数数字都默认为是有符号的,所以要创建一个无符号常量,必须要就爱上后缀字符“U”或者‘u’,如123U。
-
零扩展和符号扩展:零扩展应用于无符号整数,符号扩展应用于有符号整数。
-
截断无符号数:x'=xmod(2^k) 截断k位
-
截断补码数值:x'=U2(T_k)(xmod2^k)
-
网络字节序和主机字节序之间的转换:
上周错题总结
其他(感悟、思考等,可选)
虚拟机一定记得备份,否则虚拟机崩了之后就会丢失,非常麻烦。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 0/0 | 7/7 | |
第二周 | 106/106 | 1/1 | 9/16 |