• 2019-2020-1 20175204 《信息安全系统设计基础》第二周学习总结


    2019-2020-1 20175204 《信息安全系统设计基础》第二周学习总结

    学习目标

    1.理解二进制在计算机中的重要地位
    2.掌握布尔运算在C语言中的应用
    3.理解有符号整数、无符号整数、浮点数的表示
    4.理解补码的重要性
    5.能避免C语言中溢出,数据类型转换中的陷阱和可能会导致的漏洞
    6.进一步理解“信息=位+上下文”

    学习内容总结

    要点:

    -三种数字:
    1.无符号数:基于传统二进制表示法,表示大于或者等于零的数字。
    2. 补码:表示有符号整数的最常见方式。
    3.浮点数:表示实数的科学计数法的以二为基数的版本。
    4.为什么会产生漏洞?
    计算机运算的漏洞多由于计算机算数运算的微秒细节引发的。
    -进制转化:
    注意拿二进制作中间结果就好转了
    -字和字节顺序:
    字长:一个字长指明整数和指针数据的标称大小。字长决定最重要的系统参数就是虚拟地址空间的最大大小。对一个字长为w位的机器而言,虚拟地址的范围是0~2w-1,程序最多访问2w个字节。
    对于跨越多字节的程序对象需建立两个规则:
    小端法:高对高,低对低
    大端法:与小端法相反。 使字节顺序变得可见的三种方式: 不同类型的机器之间通过网络传送二进制数据时,网络应用程序的代码编写必须遵守已建立的关于字节顺序的规则;使用反汇编器,处理整数数据的字节序列的存储字节顺序问题;当编写规避正常的类型系统的程序时。

    -逻辑运算:
    逻辑与(&&) 遇0为0;
    逻辑或(||) 遇1为1;
    逻辑非 遇0为1,遇1为0;

    -位运算:
    按位与(&) 二进制每一位遇0为0;
    按位或(|) 二进制每一位遇1为1;
    按位异或(^) 00=0,01=1,10=1,11=0;
    按位取反(~) 二进制每一位取反;

    -整数运算:
    1.无符号加法
    2.补码加法
    3.无符号乘法
    两个数x、y相乘且x、y的位数为w,则结果的位数为2w。
    4.补码乘法
    同无符号乘法。

    -浮点数:
    1.IEEE表示形式为:V = (-1)^s * M * 2^E
    2.符号:s-符号 0为正,1为负
    3.尾数:M是一个二进制小数
    4.阶数:E的作用是对浮点数据加权,这个权重是2的E次幂


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

    -1.问题: linux  c编程 “stdio.h:没有该文件或目录”。
    sudo apt-get install build-essential(https://blog.csdn.net/sean_y/article/details/3629028)
    -2.由于虚拟机设置问题,连接不上网络,代码练习在日后重新安装虚拟机补上。
    -3.上周测试1由于虚拟机崩了,没有提交成功。

    -代码托管(https://gitee.com/zyzgl/zyz)

  • 相关阅读:
    使用phpspider抓取网站文章
    laravel5中使用faker生成模拟数据
    记录一次apache服务器启动报错和解决方法
    记录一次手误删除了root用户的家目录
    Python+selenium+PIL截屏后,裁剪图片不准确(Win10)
    Git学习笔记(五)
    Git学习笔记(一)
    Git学习笔记(四)
    Git学习笔记(三)
    Git学习笔记(二)
  • 原文地址:https://www.cnblogs.com/zyzgl/p/11609399.html
Copyright © 2020-2023  润新知