基础知识
位:位(bit)是电子计算机中最小的数据单位。每一位的状态只能是0或1。
字节:1个字节(byte)由8个二进制位构成,是存储空间的基本计量单位,即最小的可寻址的存储器单位 ,。1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。
虚拟存储器:也称为内存(memory),可视为一个非常大的字节数组,每个字节都由一个唯一的数字来标识,称为地址(address)。
字:字(word)由若干个字节构成。在IA32中,一个字由2个字节构成。字是计算机进行数据处理和运算的单位。
字长:同一时间处理的二进制数位数叫字长。不同的机器有不同的字长,指明整数和指针数据的标称大小,并决定了虚拟地址空间的最大大小(对于一个字长为w位的机器而言,虚拟地址的范围为。比如,一台8位机的字长为8位,虚拟地址的范围为
;而在32位操作系统当中,字长为32位,虚拟地址的范围为
。
C语言中,不同数据类型的字节数在不同的机器上是不同的,可以使用运算符sizeof(type)来确定对象使用的字节数。值得一提的是,指针的字节数完全取决于机器,因为指针中存储的是数据的地址,而地址字节数是由机器决定的,所以,在32位机上指针的大小为4个字节,而在64位机上则为8个字节。

字节顺序
多字节对象在内存中是连续的序列,对象的地址为所用的字节中最小的地址。多字节对象的字节排序规则有两种,分别为小端法与大端法。小端法即低位在低地址(最低有效字节在最前面),大端法则是高位在