2017-2018-1 20155305 《信息安全系统设计基础》第3周学习总结
教材学习内容总结
第二章 信息的表示与存储
-
信息的存储
1、无符号数、有符号数(2进制补码中)、浮点数无符号:基于二进制表示法,表示大于或等于零的数。 补码:有符号整数的最常见表示。 浮点数:实数的科学计数法表示。
2、进制之间的转换:2进制、8进制、十进制、以及十六进制(其中所有的转换都是以二进制作为中间变量)。
3、gcc -m32
:在64位机上可以生成32位的代码。
虚拟机可以用``gcc --m64```生成64位的代码
4、字节顺序:网络编程的基础,指占内存多于一个字节的数据在内存中存放顺序,通常有小、大端两种字节顺序。
小端法:指低字节数据存放在内存低地址,高字节数据存放在内存高地址。
大端法:高字节数据存放在低地址,低字节数据存放在高地址。
5、逻辑运算(结果是1或者0)
所有逻辑运算都可用与、或、非表达,而与或非可以用“与非”,“或非”表达,所以只要有一个与非门,就可完成所有逻辑运算。
逻辑与(&&):遇0则为0;
逻辑或(||):遇1还为1;
逻辑非 (!):遇0变为1,遇1变为0;
6、位运算(结果为位向量)
按位与(&):二进制每一位遇0则为0;
按位或(|):二进制每一位遇1还为1;
按位异或(^):0^0为0,0^1为1,1^0为1,1^1为0;
按位取反(~):二进制中的每一位都取反。
-
整数表示
1、整型数据分类char:占用一个字节的字符型数据 unsigned char:占用一个字节的无符号字符数据 short:占用两个字节的短整形数据 unsigned short:占用两个字节的无符号短整型数据 int:占用两个字节的整形数据 unsigned int:占用两个字节的无符号整型数据 long:占用两个字节的长整型数据 unsigned long:占用四个字节无符号长整型数据
2、补码
二进制补码形式的三个特点:
(1)二进制补码范围不对称
(2)位数相同前提下,无符号数的最大值恰好是二进制补码最大值的两倍加一:UMax=2*TMax+1。
(3)二进制补码-1和UMax有相同的位表示
补码利用寄存器的长度是固定特性简化的数学运算,利用补码可把数学运算统一为加法,只需要加法器就可以实现所有数学运算。
-
整数运算
计算机执行“整数运算”实际是一种模运算。 因为表示数字的有限字长限制了可能值的取值范围,所以结果运算可能溢出。 补码表示则提供了一种既可以表示负数也可以表示正数的灵活方法,同时使用与执行无符号算术相同的位级实现,所以无论运算数是无符号形式或者补码形式的表示,都有完全一样或非常类似位级行为。
Linux的who命令
- who
显示计算机名字qiaolei以及tty7和日期时间
- man who
- who am I
- man 3 printf(C语言程序)
教材学习中的问题和解决过程
- 问题1:32位虚拟机运算200300400*500,结果是-884901888
代码调试中的问题和解决过程
- 问题1:用代码实现将一个数组中的元素头尾两端依次对调
- 问题1解决方案:
代码托管
上周考试错题总结
结对及互评
点评模板:
-
博客中值得学习的或问题:
- 学习态度认真
-
代码中值得学习的或问题:
- 编写代码严谨
-
其他
本周结对学习情况
- [20155311](博客链接)
- 结对照片
- 结对学习内容
-信息表示存储内容(补码)
-Linux中的who命令
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 10/ 10 | 1/1 | 10/10 | |
第三周 | 158/ 168 | 1/2 | 17/27 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:20小时
-
实际学习时间:17小时
-
改进情况:学期初没有好好准备学习工作,认真学习课程知识。以后一定会努力赶上进度认真学习。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)