判断大端小端模式
int checkEndion( void )
{
union check
{
int i;
char ch;
}c;
c.i = 1;
return (c.ch ==1);
}
变量 i 占 4 个字节,但只有一个字节的值为 1,另外三个字节的值都为 0。如果取出低地址上的值为 0,毫无疑问,这是大端模式;如果取出低地址上的值为 1,毫无疑问,这是小端模式。
大小端模式转换
#define ___swab32(x)
{
__u32 __x = (x);
((__u32)(
(((__u32)(__x) & (__u32)0x000000ffUL) << 24) |
(((__u32)(__x) & (__u32)0x0000ff00UL) << 8) |
(((__u32)(__x) & (__u32)0x00ff0000UL) >> 8) |
(((__u32)(__x) & (__u32)0xff000000UL) >> 24) ));
}

本文介绍了一种通过编程方式判断计算机系统是采用大端还是小端字节序的方法,并提供了一个简单的函数实现。此外,还给出了大小端模式间进行数据转换的宏定义示例。
8902

被折叠的 条评论
为什么被折叠?



