|
发表于 2004-11-24 16:48:39
|
显示全部楼层
回复: 大端、小端的判断问题
最初由 macarthor 发表
我记得x86系列的CPU是little endian,但是这个程序
main () {
unsigned short a;
a = 5421; //二进制为0001,0101,0010,1101
a &= 255; //0000,0000,1111,1111
if (a == 45) //0010,1101
printf ("big endian\n\n");
else if (a == 21) //0001,0101
printf ("little endian\n\n");
}
每次输出都是
big endian
???
不太明白你的意思。inter的cpu 是little endian的,但是对所有的数据是一样的,除非你对内存操作,否则不会出现
0001 ,0101,0010,1101
&1111 ,1111,0000,0000
--------------------------
0001, 0101,0000,0000
等于21(二进制0001 0101,按little endian处理)的情况。小弟新手,不知道理解的对不对,请各位指点。给个链接http://www.embed.com.cn/forum/sh ... amp;announceID=6648 |
|