• 信息安全系统设计基础第三周学习总结


    1.三种数字表示

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

    补码:表示有符号整数的最常见方式

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

    2.信息存储

    (1)字长

    机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器。存储器的每个字节都能由唯一的数字来标识,称为地址。字长用来指明整数和指针数据的标称大小,虚拟地址空间的大小由字长决定,对于一个字长为w位的机器而言,虚拟地址的范围为0-2^w-1

    (2)数据大小

    程序可移植性的要求是使程序对不同数据类型的确切大小不敏感

    (3)寻址和字节顺序

    多字节对象被存储为连续的字节序列,对象的地址为所使用字节中最小的地址

    最低有效字节在最前面的方式称为小端法

    最高有效字节在最前面的方式称为大端法。

    (小端法:高对高,低对低。大端法:高对低,低对高。)

    字节顺序可见的三种情况:

    a.网络应用程序代码编写时必须遵循已建立的关于字节顺序的规则

    b.反汇编器显示(确定可执行文件所表示的指令序列的工具)

    (4)表示字符串

    ASCⅡ字符码

    a-z的ASC||码为0x61-0x7A。

    (5)布尔代数

    二进制值是计算机编码、存储、操作信息的核心(0、1)

    逻辑运算——0或1

    位运算————位向量

    ~=NOT

    &=AND

    |=OR

    ^=异或

    7.布尔代数

    二进制值是计算机编码、存储、操作信息的核心(0、1)

    逻辑运算——0或1

    位运算————位向量

    ~=NOT

    &=AND

    |=OR

    ^=异或

    3.整数表示

    (1)整形数据类型

    表示有限范围的整数。

    要用C99中的“long long”类型,编译是要用 gcc -std=c99

    (2)补码编码

    (3)有符号数和无符号数之间的转换

    (4)扩展数字的位表示

    一种常见的运算是在不同字长的整数之间转换,同时又保持数值不变。

    • 零扩展:将一个无符号数转换为一个更大的数据类型,只需要简单地在表示的开头添加0。
    • 符号扩展:将一个补码数字转换为一个更大的数据类型,规则是在表示中添 加最高有效位的值的副本。由此可知,如果原始值的位表示为[xw-1,xw-2,…,x0],那么扩展后的表示就为[xw-1,…,xw-1,xw-1,xw-2,…,x0]。

    截断数字

  • 相关阅读:
    微软职位内部推荐-Senior Software Engineer
    微软职位内部推荐-SENIOR SOFTWARE ENGINEER
    微软职位内部推荐-SDEII
    微软职位内部推荐-SOFTWARE ENGINEER II
    微软职位内部推荐-SOFTWARE ENGINEER II
    微软职位内部推荐-Senior SDE
    微软职位内部推荐-SDEII
    elasticsearch实现按天翻滚索引
    kafka中处理超大消息的一些处理
    Kafka主要配置
  • 原文地址:https://www.cnblogs.com/yswysw/p/4853735.html
Copyright © 2020-2023  润新知