3.6.2 计算机中数据存储和排列

3.6.2 计算机中数据存储和排列

上一节介绍了二进制数据的单位。那么,二进制数据在计算机中是如何排列的呢? 1个字节由8位组成,在计算机中排列时可能是从左向右也可能是从右向左。一般用最低位和最高位来表示其两端的位。对于带符号数据来说,最高位就是其符号位。只需确定最高位和最低位即可确定二进制数据的数值和符号。例如,十进制数“7”在32位机器上表示的序列为“0000 0000 0000 0000 0000 0000 0000 0111”,最高位为最左位,最低位为最右位。

现代计算机设计的数据存储方式为字节编址方式,即对存储单元进行编号时,每个地址编号中存放一个字节。例如,int型数据i的存储地址为0800H,i的机器数为01 23 45 67H,那么这4个字节是如何存储的呢? 在计算机中有两种排列方式:大端排列和小端排列。大端排列是地址0800 H 对应01H,0801 H 对应23 H,0802H 对应45H,0803 H 对应67 H。而小端排列是地址0800H 对应67H,0801H 对应45H,0802H 对应23H,0803H 对应01H。如表3.3所示。

表3.3 大端方式和小端方式

不同的信息文件所采用的排列方式不同,GIF、RTF 等格式信息采用小端方式存储,JPEG、MacPaint等格式信息采用大端方式存储。