您的位置:首页 > 职场人生

面试笔试题4--如何判断主机是大端小端?

2016-05-12 14:35 302 查看
方法1

#include<stdio.h>

int main(void)

{

unsigned int x = 0x12345678;

unsigned char *p = (unsigned char*)&x;

printf("%0x,%0x,%0x,%0x\n",p[0],p[1],p[2],p[3]);

return 0;

}

//输出结果为:78 56 34 12 (大端模式)

//输出结果为:12 34 56 78 (小端模式)

方法2

//原理:联合体union的存放顺序是所有成员都从低地址开始存放,而且所有成员共享存储空间

void IsBigEndian()

{

union temp

{

short int a;

char b;

}temp;

temp.a = 0x1234;

if( temp.b == 0x12 )//低字节存的是数据的高字节数据

{

//是大端模式

}

else

{

//是小端模式

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: