【发布时间】:2010-11-30 18:48:45
【问题描述】:
您好,我对此处给出的用于检查机器是小端还是大端的示例代码感到困惑:
int isLittleEndian( void )
{
unsigned int temp = 0x12345678;
char * tempAddress = &temp;
if( *tempAddress == 0x12 )
{
return 0; // Indicating False
} else {
return 1; // Indicating True
}
}
相对于这里给出的小端和大端的描述:
http://support.microsoft.com/kb/102025
第二个链接说在 LE 机器上 0x1234 作为 0x34 0x12 存储在内存中,但是如果第一个字节是 0x12,第一个链接中的 isLittleEndian() 函数将返回 true。这不是与第二个链接矛盾吗?如果不是,那我误解了什么?
【问题讨论】:
-
您的第一个链接是对您拥有的文件的本地引用...
标签: endianness