2017-2018-1 20155215 《信息安全系统设计基础》第3周学习总结
教材学习内容总结
- 进制转换,十六进制
- show_bytes
- 大端法:最高有效字节在前面。
- 小端法:最低有效字节在前面——“高对高,低对低”。(一般用到的是小端法,比如在X86汇编中我们接触到的就是小端法。)
- 布尔代数
- 位级运算和逻辑运算
- 补码编码
- 扩展从一个较小的数据类型转换为较大的数据类型,同时保持数值不变。
- 零扩展:多用于无符号数转换为一个更大的数据类型。只需在开头加上0即可。
- 符号扩展:多用于补码数字转换,最高有效位是什么,就添加什么。
教材学习中的问题和解决过程
-
问题1:编译器是如何处理信息的?
-
问题1解决方案:编译器是一种特殊的程序,它可以把以特定编程语言写成的程序变为机器可以运行的机器码。把一个程序写好,这时利用的环境是文本编辑器。这时我程序把程序称为源程序。在此以后程序员可以运行相应的编译器,通过指定需要编译的文件的名称就可以把相应的源文件(通过一个复杂的过程)转化为机器码了。
-
问题2:布尔代数的意义是什么?
-
问题2解决方案:布尔代数教会了人们用数学的方式解决逻辑问题。它是数字逻辑电路的强大理论支柱。
布尔代数是布尔在19世纪上半叶,成功得使用数学来做逻辑分析,使得亚里士多德的三段论终于可以用数学来证明。
他的贡献在于:遵循数学本质,从中发展了不同于常见的以记数发展起来的数学——布尔代数。
比较:
数学本质上是:对操作数按操作符表达的意义进行操作,得出的结果也是操作数。
布尔代数是对逻辑的数学表现(逻辑,就是由条件推出结果)
布尔代数中,操作数为逻辑值:1和0,分别代表“肯定”和“否定”,并规定了三个基本的操作符:与或非,用以描述
生活中的三种基本逻辑场景:
与表示:要得出结果(是或否),需要考查两个条件的成立情况
或表示:要得出结果(是或否),只要考查其中一个条件的成立情况
非表示:要得出结果(是或否),要看其相反的情况
代码调试中的问题和解决过程
- 问题1:我在编写书上P31,P32的代码时,出现如下错误:
- 问题1解决方案:最后我将代码修改成如下所示:
#include<stdio.h>
typedef unsigned char *byte_pointer;
void show_bytes(byte_pointer start,size_t len){
size_t i;
for (i=0;i<len;i++)
printf ("%.2x",start[i]);
printf("
");
}
void show_int(int x){
show_bytes((byte_pointer) &x,sizeof(int));
}
void show_float(float x){
show_bytes((byte_pointer) &x,sizeof(float));
}
void show_pointer(void *x){
show_bytes((byte_pointer) &x,sizeof(void *));
}
int main( ){
int ival=8;
float fval =(float) ival;
int *pval=&ival;
show_int(ival);
show_float(fval);
show_pointer(pval);
}
然后才编译成功:
代码托管
上周考试错题总结
暂无
结对及互评
点评模板:
- 博客中值得学习的或问题:
- 内容详实,有出现的问题和问题的详细解决情况
本周结对学习情况
- [20155232](http://www.cnblogs.com/lsqsjsj/p/7611470.html)
- 结对照片
其他(感悟、思考等,可选)
这一周发现我有一些C语言的东西不够扎实,而且出现了一些遗忘,本来很多问题都是可以避免的,但是感觉自己却没有做好,觉得很不应该。而且自己在时间的管理和利用上也有一定的问题,需要花更多的心思来自我调整,才能取得更好的成绩。上学期的JAVA成绩就不够理想,希望自己能够提高自控能力,努力做得更好。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第三周 | 141/2 | 2/2 | 18/38 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:20小时
-
实际学习时间:16小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)