标题:这个是什么原理呢?
只看楼主
forclwy
Rank: 4
等 级:业余侠客
帖 子:167
专家分:255
注 册:2008-10-21
结帖率:100%
已结贴  问题点数:20 回复次数:1 
这个是什么原理呢?
试编写函数判断计算机的字节存储顺序是开序(little endian)还是降序(bigendian)
bool IsBigendian()
{
unsigned short usData = 0x1122;
unsigned char *pucData = (unsigned char*)&usData;
return (*pucData == 0x22);
}
搜索更多相关主题的帖子: 计算机字节存储顺序 
2009-08-24 15:39
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:20 
回复 楼主 forclwy
unsigned short 是一个占两个字节的类型。
比如0x1122这个值。
如果是little endian,它在内在里是 0x22 0x11 这么储存的。(它把低位的值存储在低的地址上)
相反big endian,是这样的:0x11 0x22。
剩下的应该就好懂了,取这个地址上第一个字节看看是不是 0x22 就行了。
2009-08-25 11:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-283596-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.294890 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved