请写一个 C 函数,若处理器是 Big_endian 的,则返回 0;若是 Little_endian 的,则返回 1。
通过指针类型强制转换并对整型数据首字节赋值,判断该赋值赋给了高位还是低位。
方法一:
- union w
-
{
-
int a;
-
char b;
-
}c;
-
-
int checkCPU()
-
{
-
c.a = 1;
-
return (c.b == 1);
-
}
方法二:
- union mm
-
{
-
char c[4];
-
unsigned long l;
-
};
-
-
char checkCPU()
-
{
-
mm c = { 'l', '?', '?', 'b' };
-
return (char)c.l;
-
}
阅读(641) | 评论(0) | 转发(0) |