zoukankan      html  css  js  c++  java
  • 20175327 《信息安全系统设计基础》第2周学习总结

    20175327 《信息安全系统设计基础》第2周学习总结

    教材学习内容总结

    1.理解二进制在计算机中的重要地位

    二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。(计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。

    2.掌握布尔运算在C语言中的应用

    c语言中位运算中的布尔运算有:&、|、~、^
    &:按位与
    |:按位或
    ~:按位非
    ^:按位异或,相同为0,相异为1。
    计算规则为:

    位的逻辑运算的作用:

    • 使用位向量做集合编码;
    • 使用位向量做掩码mask;
    • 使用异或的性质进行变量的交换值;

    3. 理解有符号整数、无符号整数、浮点数的表示

    1、有符号数机器表示
    以16位有符号数为例:
    对于正数,非常简单,最高位为0,其余15位表示数值就可以了,比如0110 1110 0101 1110即0x6e5e,表示+28254;
    对于负数,稍微有点麻烦,以-4为例,首先计算4的二进制补码,即0000 0000 0000 0100按位取反再加1,即1111 1111 1111 1100,也即0xFFFC。
    那么,在有符号数和无符号数之间进行转换时就要注意这一点,如下所示:
    int a=-1589;
    unsigned int b;
    b=a;
    那么b是多少呢?肯定不是1589,而是63947。
    2、浮点数表示
    无论是单精度还是双精度,都有三个部分:

    • 符号位;
    • 指数位;
    • 尾数位;
      float存储方式如下(高位在前,低位在后):
      符号(1位)| 指数(8位)| 尾数(23位)
      double存储方式如下(高位在前,低位在后):
      符号(1位)| 指数(11位)| 尾数(52位)

    将一个float数转换成内存存储格式步骤:
    以3.25为例,将3.25化成二进制,即11.01,用科学计数法表示,则为1.101*2^1,符号位是0,指数是1,尾数是101;但指数位还要进一步计算,需要用127加上刚才算得的指数1,即128(二进制表示1000 0000),
    这样3.25的机器存储格式为:(符号位0)(指数1000 0000)(尾数101 0000 0000 0000 0000 0000),即0x40500000。

    4.理解补码的重要性

    • 使符号位能与有效值部分一起参加运算,从而简化运算规则.
    • 使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计

    所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、C等其他高级语言中使用的都是原码。

    5.能避免C语言中溢出,数据类型转换中的陷阱和可能会导致的漏洞

    参考:https://www.it610.com/article/5427400.htm

    6.进一步理解“信息=位+上下文”

    参考:https://www.cnblogs.com/yilinglingyi/p/4224918.html

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

    xxx
    xxx

    代码调试中的问题和解决过程

    xxx
    xxx

    课后作业中的问题和解决过程

    XXX
    XXX

    本周代码托管截图

    其他(感悟、思考等,可选)

    xxx
    xxx

  • 相关阅读:
    leetcode Remove Linked List Elements
    leetcode Word Pattern
    leetcode Isomorphic Strings
    leetcode Valid Parentheses
    leetcode Remove Nth Node From End of List
    leetcode Contains Duplicate II
    leetcode Rectangle Area
    leetcode Length of Last Word
    leetcode Valid Sudoku
    leetcode Reverse Bits
  • 原文地址:https://www.cnblogs.com/hollfull/p/12051400.html
Copyright © 2011-2022 走看看