码迷,mamicode.com
首页 > 编程语言 > 详细

C/C++ 关于大小端模式

时间:2016-05-21 17:36:23      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

大端模式:  数据的高字节存在低地址  数据的低字节存在高地址

小端模式:  数据的高字节存在高地址  数据的低字节存在低地址

 

技术分享

如图,i为int类型占4个字节,但只有1个字节的值为1,另外3个字节值为0;取出低地址上的值,当其为1时则为小端模式,为0时为大端模式。

//大小端模式的判断
//方法一:利用联合体所有成员的起始位置一致,
//对联合体中的int类型赋值,然后判断联合体中char类型的值的大小

void SysCheck()
{
	union IsLitte_Endian
	{
		int i;
		char c;
	};
	IsLitte_Endian Check;
	Check.i = 1;
	bool Flag=Check.c == 1;	//Flag为true表示是小端模式,Flag为false表示为大端模式,此时Flag为true。
	return;
}


技术分享

//方法二:利用强制类型转换判断
//与共用体判断类似
bool IsLitte_Endian()

{

	int Wvar = 0x12345678;

	short *Pvar = (short*)&Wvar;

	return !(0x1234 == Pvar[0]);

}


技术分享

此时说明该编译器为小端模式

CSDN地址:http://blog.csdn.net/lyl_312/article/details/51405553

C/C++ 关于大小端模式

标签:

原文地址:http://www.cnblogs.com/lyl-312/p/5515015.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!