1.内存简介

地址线根数	        对应范围				空间大小		       计算过程
8			00~FF				256B			2^8 = 256B
16			0000~FFFF			62K			2^16 = 2^6K = 64K
20			00000~FFFFF			1M			2^20 = 2^10K = 1M
24			000000~FFFFFF		        16M			2^24 = 2^4*M = 16M
28			0000000~FFFFFFF		        256M		        2^28 = 2^8 M = 256M
32			00000000~FFFFFFFF		4G			2^32 = 2^2*G = 4G	

 下面以unsigned int value = 0x12345678为例,分别看看在两种字节序下其存储情况 :

 
1.大端模式(Big-endian

   高尾端:数据的高字节保存在内存的低地址中。 

  Big-Endian: 低地址存放高位,如下:
 
  高地址   
  ---------------   
  buf[3] (0x78) -- 低位   
  buf[2] (0x56)   
  buf[1] (0x34)   
  buf[0] (0x12) -- 高字节  
  ---------------   
  低地址

 

2.小端模式(Little-Endian

  低尾端:数据的低字节保存在内存的低地址中。

 
 Little-Endian: 低地址存放低位,如下:
 高地址   
 ---------------   
 buf[3] (0x12) -- 高位   
 buf[2] (0x34)   
 buf[1] (0x56)   
 buf[0] (0x78) -- 低字节   
 --------------
 低地址
 
内存地址 小端模式存放内容 大端模式存放内容
0x4000 0x78 0x12
0x4001 0x56 0x34
0x4002 0x34 0x56
0x4003 0x12 0x78

3.微软 采用:   小端模式

4.网络字节序:大端模式

 

相关文章: