C语言端序
Endianism,端序,是指用来存储数据的方法,它定义了数据类型对字节进行寻址的方式。
两种端序方式:
1、Little-endian,小端序,是将低位字节存储在内存偏移地址较低的地址中,将高位字节存储在内存偏移地址较高的地址中;
2、Big-endian,大端序,则是将低位字节存储在内存偏移地址较高的地址中,将高位字节存储在内存偏移地址较低的地址中。
比如:
0x12345678 在 big-endian 系统上的布局
内存偏移量 0 1 2 3
内存内容 0x12 0x34 0x56 0x78
0x12345678 在 little-endian 系统上的布局
内存偏移量 0 1 2 3
内存内容 0x78 0x56 0x34 0x12
机器大小端和环境相关,可以使用下面的办法判断机器的大小端:
#include <cstdlib>
#include <iostream>
using namespace std;
union test
{
int i;
char c;
};
int main()
{
union test t;
t.i = 0x12345678;
if(t.c == 0x78)
cout<<"Lit