2017-2018-1 20155216 《信息安全系统设计基础》第三周学习总结
2017-2018-1 20155216 《信息安全系统设计基础》第三周学习总结
教材学习内容总结
一、信息储存
1、使用8位的块或者字节,作为最小的可寻址的内存单位,而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组,称为虚拟内存。
2、一个字节由8位组成,在二进制表示法中,它的值域是00000000~11111111。
3、每台计算机都有一个字长(word size),指明指针数据的标称大小。
4、数据类型char表示一个单独的字节,可用来储存单个字符和数值。int占4字节,long在32位程序中中占4字节,在64位程序中占8字节。(不同位的程序中,所占的字节不同)。
5、在几乎所有机器上,多字节对象都被存储为连续的字节序列,对象的地址为所用字节中最小的地址。
6、C语言中字符串被编码为一个以null(其值为0)字符结尾的字符数组。每个字符都由某个标准编码来表示,最常见的是ASCII字符码。
7、确定一个位级表达式的结果最好的方法,就是将十六进制的参数扩展为二进制表示并执行二进制运算,然后再转换成十六进制。
二、整数表示
1、C语言支持多种整形数据类型——表示有限范围的整数。
2、补码具有唯一性。
3、C语言允许在各种不同的数字数据类型之间做强制类型转换。
4、一个常见的运算是在不同字长的整数之间转换,同时又保持数值不变。要将一个无符号数转换为一个更大的数据类型,我们只要简单地在表示的开头添加0.这种运算被称为零扩展。
三、整数运算
1、无符号数的加法容易溢出,乘法需要进行模运算。
四、浮点数
1、IEEE浮点表示,通过符号、尾数和阶数进行表示。
2、C语言提供两种浮点数表示类型:float和double。因为表示方法限制了浮点数的范围和精度,所以运算只能近似地表示实数运算。
小结
1、大多数机器对整数使用补码编码,而对浮点数使用IEEE标准编码。
2、在相同长度的无符号和有符号数之间进行强制类型转换时,大多数C语言实现遵循的原则是底层的位模式不变。
3、计算机运算,当超出表示范围时,有限长度引起数值溢出,,当浮点数接近0.0时,会转换为0,也会下溢。
4、浮点运算只有有限范围和精度,而且并不遵守普遍的算术属性,比如结合性。
教材学习中的问题和解决过程
-
问题1:无符号数的编码不理解
-
问题1解决方案:根据书上例子,进行简单的运算尝试。
-
问题2:对于无符号数的运算理解不够透彻。
-
问题2解决方案:未解决,希望老师上课可以进行相应的讲解。
代码调试中的问题和解决过程
-
问题1:无法运行书上代码
-
问题1解决方案:设计mian函数,定义参数。
代码托管
上周考试错题总结
- 错题1及原因,理解情况
- 错题2及原因,理解情况
- ...
结对及互评
点评模板:
- 博客中值得学习的或问题:
- xxx
- xxx
- ...
- 代码中值得学习的或问题:
- xxx
- xxx
- ...
- 其他
本周结对学习情况
- [结对同学学号1](博客链接)
- 结对照片
- 结对学习内容
- XXXX
- XXXX
- ...
其他(感悟、思考等,可选)
1、Linux系统下的C源文件的处理方式比windows下的要更加丰富。
2、关于计算机语言中的各种运算仍需要加深理解。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第三周 | 114/114 | 3/3 | 20/20 | |
第四周 | 300/500 | 1/2 | 18/38 | |
第五周 | 500/1000 | 3/7 | 22/60 | |
第六周 | 300/1300 | 2/9 | 30/90 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:XX小时
-
实际学习时间:XX小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)