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

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]。

截断数字

原文地址:https://www.cnblogs.com/yswysw/p/4853735.html