2018-2019-1 20165316 《信息安全系统设计基础》第二周学习总结
2018-2019-1 20165316 《信息安全系统设计基础》第二周学习总结
教材学习内容总结
- 小端,低地址对低位,高地址对高位;大端相反。可以通过cast或者union强行提取出一个字节的储存内容来判断机器的大小端类型。
- 逻辑运算只有0或1两种结果,而位级运算进行的是按位处理。
- 舍入到偶数规则:若整数部分为奇数,则.5进位;若为偶数,则.5不进位。
教材学习中的问题和解决过程
- 我看了这一段文字 p40:表中逻辑右移和算术右移的符号是相同的,想知道在程序中这两者有什么不同。 我查了资料,在java中,逻辑右移为">>>",而算术右移为">>"。在C语言中,对于移位操作执行的是逻辑左移和算术右移,不过对于无符号类型,所有的移位操作都是逻辑的。这两者的区别在后面教材2-96和2-97的代码中有所体现。
代码托管
教材2-96 2-97
由于虚拟机运行速度过慢,我仅使用正常值,边界值进行了测试。
上周考试错题总结
- 23.下面和代码可移植性相关的C语言属性有(ABC)
A .define B .typedef
C .sizeof() D .union
解析:#define可以定义宏使得变量可移植,typedef可以使得类型可移植,sizeof()使得不同类型长度可移植。
- 29.要在64位机器上把prog.c编译出可以在32机器上运行的程序,下面正确的是(C)
A .
64位机上不能编译出32位机的程序
B .
gcc prog.c
C .
gcc -m32 prog.c
D .
gcc -m64 prog.c
解析:课本p27 大多数64位机器也可以运行32位机器编译的程序,
其命令是
linux>gcc -m32 prog.c
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 156/200 | 2/2 | 20/20 | |
第二周 | 324/500 | 2/2 | 18/38 |