• 20145235 《信息安全系统设计基础》第03周学习总结


    信息的表示与处理

    ①信息存储

    无符号数:基于传统二进制表示法,表示大于或者等于零的数字。

    有符号数:以二进制补码表示。

    浮点数:表示实数的科学计数法的以二为基数

    ②进制转换

    二进制、八进制、十进制、十六进制(转换:以二进制作为中间变量)。

    gcc -m32

    可以在64位机上生成32位的代码。

    ④字节顺序

    打端法:小对小,大对大。

    小端法:与大端法相反。(那这么说8086操作系统是小端法咯!)

    ⑤逻辑运算

    逻辑运算(结果是1或0)和位运算(结果是位向量),所有逻辑运算都可以用与、或、非表达(最大式、最小式),而与或非可以用“与非”或“或非”表达,所以,只要一个与非门,就可以完成所有的逻辑运算。

    大量计算机的安全漏洞都是由于计算机算术运算的微妙细节引发的

    ⑦掩码

    位运算的重要应用,表示从一个字中选择一个位的集合。对特定位可以置一,可以清零

    通过掩码,可以屏蔽一些信号,掩码表示是设置为有效信号的集合。

    ⑧整型数据类型

    char:字符型数据,占用一个字节
    unsigned char:无符号字符型数据,占用一个字节
    short:短整形数据,占用两个字节
    unsigned short:无符号短整型数据,占用两个字节
    int:整形数据,占用两个字节
    unsigned int:无符号整型数据,占用两个字节
    long:长整型数据,占用四个字节
    unsigned long:无符号长整型数据,占用四个字节
    

    C语言中有符号数转换为无符号数时,不改变位表示,也就是说,不同的数据类型C语言读取的方式不一样。

    如何让负数变成整数:逐位取反再加一,先非运算,再加一。

    扩展为32位时用1扩展负数,用零扩展整数。

    溢出就是内存中存储运算结果的空间不够导致,所以为了避免溢出,应该事先估计运算结果的大小,找到合适的存储空间。

    ⑨浮点数

    IEEE:V = (-1)s * M * 2E

    s-符号 0为正,1为负

    M-小数

    E-阶数

    向偶舍入(默认):将数字向上或向下舍入,是的结果的最低有效数字为偶数。能用于二进制小数。
    向零舍入:把整数向下舍入,负数向上舍入。
    向下舍入:正数和负数都向下舍入。
    向上舍入:正数和负数都向上舍入。

    float中:s、exp和frac字段分别为1位、k = 8 位和n = 23位,得到一个32位的表示

    double中:s、exp和frac字段分别为1位、k = 11 位和n = 52位,得到一个64位的表

    整数与小单精度数的转换:符号位+阶数加127的二进制数+去掉开头1位的数+十个0。

    问题解决:

    上周敲了课本P28的代码,但是怎么都没运行出来,然后这周看了别的同学的博客就明白了,原来是课本上的代码只是给了函数,这些函数需要用主函数去调用。

    学习进度条

     代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
    目标 5000行 30篇 400小时  
    第零周 0/0 1/1 15/15  
    第一周 0/0 1/2 25/40  
    第二周 62/62 1/3 25/65  
    第三周 176/238 1/4 20/85
  • 相关阅读:
    About Face 摘录
    断言的使用
    C#中值传递和引用传递
    C++技巧之断言Assert
    About Face 一 目标导向设计
    About Face 二 设计行为与形态
    C++中引用传递与指针传递区别
    一个新的时代SoLoMo
    离散数学笔记算法部分
    汪教授的离散数学20110308 谓词与量词2
  • 原文地址:https://www.cnblogs.com/20145235litao/p/5927829.html
Copyright © 2020-2023  润新知