2018-2019-1 20165316 《信息安全系统设计基础》第二周学习总结

2018-2019-1 20165316 《信息安全系统设计基础》第二周学习总结

教材学习内容总结

  1. 小端,低地址对低位,高地址对高位;大端相反。可以通过cast或者union强行提取出一个字节的储存内容来判断机器的大小端类型。
  2. 逻辑运算只有0或1两种结果,而位级运算进行的是按位处理。
  3. 舍入到偶数规则:若整数部分为奇数,则.5进位;若为偶数,则.5不进位。

教材学习中的问题和解决过程

  1. 我看了这一段文字 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
posted @ 2018-09-30 22:51  treebeard  阅读(118)  评论(0编辑  收藏  举报