2017-2018-1 20155311 《信息安全系统设计基础》第3周学习总结
2017-2018-1 20155311 《信息安全系统设计基础》第3周学习总结
教材学习内容总结
信息的表示和处理
三种数字表示
无符号数:
基于传统的二进制表示法,表示大于或等于零的数字
补码:
表示有符号数,可为正可为负的数字
浮点数:
表示实数的科学计数法的以二为基数的版本
信息存储
字节:
计算机最小的可寻址的存储器单位——字节
一个字节的值域:00H-FFH
字:
每个计算机都有一个字长,指明整数和指针数据的标称大小。因为虚拟地址是以这样的一个字来编码的,所以字长最重要的系统参数就是虚拟地址空间的最大大小。
对于一个字长为w位的机器而言,虚拟地址的范围为0~2w-1,程序最多访问2w字节。w=32或64:也就是我们通常所说的电脑是32位还是64位。也可以理解为CPU一次处理数据的位数。
数据大小:
C99特性:当没有-m32或-m64参数时,一般情况下会生成跟操作系统位数一致的代码;gcc -m32 XXX.c
寻址和字节顺序:小端法:最低有效字节在前面——“高对高,低对低”。(一般用到的是小端法,比如在X86汇编中我们接触到的就是小端法。)
大端法:最高有效字节在前面。
布尔代数
运算符号:与:&&(位与:&)
或:||(位或:|)
非:!(位非:~)
位异或:^
位向量:
有固定长度为w、由0和1组成的串。位向量的应用——表示有限集合。
掩码运算:
掩码是位运算的重要应用,这里掩码是一个特定位模式,表示从一个字中选择一个位的集合。对特定位可以置一,可以清零。
补码及C语言中符号转换的溢出
补码编码:
有符号数的编码我们都知道补码的最高位是表示符号位,解释为负权,“权重”为-2的(w-1)次方,即无符号表示中的权重的负数。符号位为1,表示值为负,符号位为0,表示值为非负(不是正,因为有0)
补码的映射关系同样是一一对应的
补码的范围:-2(w-1)~2(w-1)-1
有符号数和无符号数的转换处理同样字长的有符号数和无符号数之间相互转换的一般规则:数值可能会改变,但是位模式不变。
c语言允许无符号数和有符号数之间的转换,转换的原则是底层的位表示不变。
当从无符号数转换为有符号数是,效果是应用函数U2T,从有符号数转化为无符号数时,应用函数T2U,其中w表示数据类型的位数。
扩展从一个较小的数据类型转换为较大的数据类型,同时保持数值不变。
零扩展:
多用于无符号数转换为一个更大的数据类型。只需在开头加上0即可。
符号扩展:
多用于补码数字转换,最高有效位是什么,就添加什么。
代码调试中的问题和解决过程
show_bytes 的输入是一个字节序列的地址,使用强制转换以打印不同的字节表示,以16进制表示
代码托管
上周考试错题总结
无
学习进度条
| | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|
| 第一周 | 200/200 | 1/2 | 25/30 | |