Linux 系统字节序判断

Linux 系统字节序判断

说明:本函数摘自图书《Linux高性能服务器编程》

  1. 字节序分为大端字节序(big endian)和小端字节序(little endian)
  2. 大端字节序:一个整数的高位字节(23-31bit)存储在内存的低地址处,低位字节(0-7bit)存储在内存的高地址处。
  3. 小端字节序:一个整数的高位字节(23-31bit)存储在内存的高地址处,低位字节(0-7bit)存储在内存的低地址处。
#include<stdio.h>

void byteorde()
{
	union
	{
			short value;
			char union_bytes[sizeof(short)];
	}test;
	test.value = 0x0102;
	if((test.union_bytes[0]==1)&&(test.union_bytes[1]==2))
		{
				printf("big endian\n");
		}
	else if((test.union_bytes[0]==2)&&(test.union_bytes[1]==1))
		{
			printf("little endian\n");
		}
	else
		{
			printf("unkown...\n");
		}
}

猜你喜欢

转载自blog.csdn.net/lx121451/article/details/86747926
今日推荐