• 20165333 信息安全系统设计基础 第二周总结


    教材学习内容总结

    信息=位+上下文

    无符号编码:基于传统的二进制表示法,表示大于等于零的数字
    补码编码:表示有符号数证书最常见的方式,可表示或正或负的数字
    浮点数编码:表示实数的科学计数法的以二为基数的版本
    溢出:计算机的表示法是用有限数量的位来对一个数字编码,当结果太大以至不能表示时,某些运算就会溢出

    信息的存储

    1个字节为8位,大多数计算机将1个字节作为最小的可寻址的存储器单位。
    机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器。存储器的每个字节都由一个唯一的数字来标识,称为地址。所有地址的集合称为地址空间。

    字长:指明证书和指针数据的标称大小。决定最重要的系统参数就是虚拟地址空间的最大大小。对于一个w位的机器而言,虚拟地址的范围为0~2w-1,程序最多访问2w个字节。

    字节排列规则

    小端法(little endian):最低有效字节排列在最前面
    大端法 (big endian):最高有效字节排列在最前面
    网络应用程序的代码编写必须遵守已建立的关于字节顺序的规则,以确保发送方机器将它的内部表示转换成网络的标准,而接收方机器则将网络标准转换为它的内部表示。

    字符串

    C语言中的字符串被编码为一个以null(其值为0)字符结尾的字符数组。每个字符都由某个标准编码来表示,最常见的是ASCII字符码。
    不同的机器类型使用不同的且不兼容的指令和编码方式。即使处理器完全一样,但是运行不同操作系统,也会有不同的编码规则,因此二进制代码是不兼容的。

    十进制( Decimal)与R进制的转换

    R个基本符号(0,1,2.R-1)
    R称为基数(base),它代表每个数位上可以使用的不同数字符号个数。R称为第位上的权
    逢R进一

    二进制与八进制/十六进制的转换

    二进制转化为八进制:从低位开始,三位二进制码表示的十进制数作为一位八进制码,高位不足时补0。
    二进制转化为十六进制:从低位开始,四位二进制码表示的十进制数作为一位十六进制码,高位不足时补0。
    八进制/十六进制转化为二进制时,只需要将每一位八进制码/十六进制码还原为三位/四位二进制码即可。

    位级运算

    位向量:固定长度位w、由0和1组成的串
    位的高低:从左到右,从高到低
    运算:
    &(按位与)
    | (按位或)
    ~(按位取反)
    ^(按位异或)

    逻辑运算

    &&(逻辑与)
    ||(逻辑或)
    !(逻辑非)
    非零参数都表示TRUE,0表示FALSE

    移位运算

    逻辑右移:右移N位,就在高位补N个0
    算术右移:右移N位,就补N个最高位的值

    有符号数与无符号数之间的转换

    处理同样字长的有符号数与无符号数之间相互转换的一般规则:数值可能会改变,但是位模式不变。
    (1)有符号数→无符号数
    非负数——保持不变

    负数——转换成大正数
    (2)无符号数→有符号数
    以2^*(w-1)为界限:

    小于它——保持不变

    大于它——转换为负数值
    [0,2(w-1))范围内的数字,无符号和补码表示相同;范围之外的,需要加上或者减去2w

    运算时若同时存在有符号数和无符号数,会隐式的将有符号数强制类型转换为无符号数,并且假设这两个数都是非负的。

  • 相关阅读:
    1211.分割平衡字符串
    1282.用户分组
    分模块配置
    Spring Bean相关配置
    Spring IOC是什么
    Spring简介
    小黄衫感想
    团队展示
    原型设计
    结对作业
  • 原文地址:https://www.cnblogs.com/challengeeverthing/p/9733486.html
Copyright © 2020-2023  润新知