信息的表示和处理
信息存储
上章曾提到,信息就是位+上下文,计算机存储的信息在底层无非就是01序列,因此二进制是计算机存储、编码和操作信息的核心。
计算机使用8位的块作为一个字节(byte),代替单独的位作为最小可寻址的内存单元。而内存的地址是基于虚拟内存(virtual memory) 的抽象概念(第九章),将各种存储设备结合起来提供一个直觉上统一的字节数组。
计算机字长
计算机字长,也就是我们平时常见的说法:32位机、64位机,这里的32和64就是计算机的字长(word size) ,代表指针数据的标称大小(指针的长度),即上面说的虚拟内存地址的编码的字长。
比如w=32位字长的机器,它的可寻址空间范围是0~2w -1,也就是说字长决定虚拟地址空间的最大大小。类似于9位十进制编码的qq号,它的寻址空间就是从0到999999999,每个空间对应一个用户(字节)
寻址和字节顺序
所有的程序对象都是一个字节序列,对于跨越多字节的对象,比如4个字节的int型变量,它在机器上存储为连续的字节序列,它的地址就是它所跨域字节中最小的地址。关于这些字节在内存中的排列规则,根据机器类型的不同分为大端法和小端法,比如0x01234567
大端法
0x100 0x101 0x102 0x103 … 01 23 45 67 … 小端法
0x100 0x101 0x102 0x103 … 67 45 23 01 …
位运算
将在二元集合{0,1}上定义的布尔运算拓展到位向量,就是位级布尔运算,它的一个常见用法就是实现掩码操作,对控制信号进行使能或屏蔽。
整数表示
计算机中的整数也是位的一种编码,根据编码方式的不同可以分为两种,一种可以表示非负数即无符号数&#x