信息的表示和处理
扫描二维码
随时随地手机看文章
第2章 信息的表示和处理·二 关键词:信息存储,逻辑运算,进制转换,C语言,信息的表示和处理 无符号(unsigned)编码是基于传统的二进制表示法的,表示大于或者等于零的数字。 二进制补码(two's-complement)编码是表示有符号证书的最常见的方式,有符号整数就是为正或者为负的数字。 浮点数(floating-point)编码是表示实数的科学计数法的以二为基数的版本。 2.1 信息存储 大多数计算机使用8位的块,或叫做字节(byte),来作为最小的可寻址的存储器单位,而不是访问存储器中单独的位。机器级程序将存储器视为一个非常大的数组,称为虚拟存储器(virtual memory)。存储器的每个字节都由一个唯一的数字来标示,称为它的地址(address),所有可能地址的集合就称为虚拟地址空间(virtual address space)。这个虚拟地址空间只是一个展现给机器级程序的概念性映像(image)。实际的实现使用的是随机访问存储器RAM、磁盘存储、特殊硬件和操作系统软件的结合,来为程序提供一个看上去统一的字节数组。 编译器和运行时系统的一个任务就是将这个存储器空间划分为更可管理的单元,来存放不同的程序对象(project object),也就是,程序数据、指令和控制信息。有各种机制可以用来分配和管理程序不同部分的存储。这种管理完全是在虚拟地址空间里完成的。
1 十六进制表示法
十六进制
0
1
2
3
4
5
6
7
十进制
0
1
2
3
4
5
6
7
二进制
0000
0001
0010
0011
0100
0101
0110
0111
十六进制
8
9
A
B
C
D
E
F
十进制
8
9
10
11
12
13
14
15
二进制
1000
1001
1010
1011
1100
1101
1110
1111
进制转换不再细写。自己灵活掌握。
2 字 每台计算机都有一个字长,指明整书和指针数据的标称大小(nominal size)。因为虚拟地址是以这样的字来编码的,所以字长决定的最重要的系统参数就是虚拟地址空间的最大大小。对于一个字长为n的机器而言,虚拟地址的范围为0-(2^n)-1,程序最多方位2^n字节。 对于任何数据类型T,声明 T *P; 表明p是一个指针变量,指向类型T的一个对象。 假设一个类型为int变量x的地址为0x100,也就是说,地址表达式&x的值为0x100.那么x的四字节将被存储在存储器的0x100,0x101,0x102,0x103位置。 反汇编器,是一种确定可执行程序文件所表示的指令序列的工具。 3 运算 布尔代数的逻辑运算(|是OR,&就是AND,﹁就是NOT,^就是EXCLUSIVE-OR) 或:p=1或q=1时,p|q=1; 且:p=1且q=1时,p&q=1; 非:p=1,﹁p=0; 异或:当p=0且q=1或p=1且q=0时,p^q=1。 整数集合,用Z来标示,形成了一个称为环的数据结构,表示为