zoukankan      html  css  js  c++  java
  • 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("
    ");
    }
    
    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小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    [导入]C#播放rm文件[转贴]
    新工具软件发布!名称:剪切板记录器
    黑發4/14
    sql20002 4/19
    頁面按百分比設定失調3/27
    廣告控件:AdRotator 3/23
    19992020小農曆JS 3/31
    ASP.NET1.1編譯錯誤代碼:1073741502 4/10
    SiteMapPath控件 3/24
    MYSQL時間問題4/16
  • 原文地址:https://www.cnblogs.com/xuanyan/p/7673751.html
Copyright © 2011-2022 走看看