首先简单的说,大部分80X86的cpu都是采用的“小端”存储,而网络字节序是“大端”。所以在c语言编程中网络传输的模块需要特别注意。而对于java编程,在JVM中都是采用的“大端”存储的和底层cpu没有关系。下面为了理解对大小端的含义进行了介绍。

对于字节序(大端法、小端法)的定义《UNXI网络编程》定义:术语“小端”和“大端”表示多字节值的哪一端(小端或大端)存储在该值的起始地址。小端存在起始地址,即是小端字节序;大端存在起始地址,即是大端字节序。

1.小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端。 
2.大端法(Big-Endian)就是高位字节排放在内存的低地址端即该值的起始地址,低位字节排放在内存的高地址端。

举个简单的例子,对于整形0x12345678。它在大端法和小端法的系统内中,分别如图1所示的方式存放。

字节序大小端问题

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-13
  • 2022-01-23
  • 2021-12-08
猜你喜欢
  • 2021-05-27
  • 2022-01-19
  • 2021-08-08
  • 2021-12-17
  • 2021-09-18
相关资源
相似解决方案