2017-2018-3 20155215 《信息安全系统设计基础》第3周学习总结

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("\n");
}

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小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

posted @ 2017-10-15 19:19  xuanyan  阅读(135)  评论(0编辑  收藏  举报