大端小端的判断

字节序是指大端小端用来描述多字节数据在内存中存放的顺序;

大端字节序是指最高有效位存放最低内存地址;

小端字节序是指最高有效位存放最高内存地址;

主机字节序是指不同CPU有不同的字节序类型这些字节序是指整数在内存中保存的顺序;

不同的主机有不同的字节序,X86一般采用的是小端字节序,网络字节序规定是大端字节序

下面是判断系统是大端小端的代码:

#include<iostream>
using namespace std;
union test
{
	short a;
	char b[sizeof(short)];
};
int main()
{
	test k;
	k.a = 0x0102;
	if (k.b[0] == 0x01 && k.b[1] == 0x02)
	{
		cout << "大端" << endl;
	}
	else if (k.b[0] == 0x02 && k.b[1] == 0x01)
	{
		cout << "小端" << endl;
	}
	else
	{
		cout << "unknow" << endl;
	}
	system("pause");
	return 0;
}

阅读更多
个人分类: Algorithms
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭