找回密码
 立即注册
查看: 817|回复: 1

话说这样可行么

[复制链接]

5895

回帖

118

基友

1万

积分

苍海之魂

invincible

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2013-7-24 00:04:05 | 显示全部楼层 |阅读模式
请写一个C函数,若处理器是Big_endian的,则返回0; 若是Little_endian的,则返回1。 • 函数原型:int checkCPU( )

int checkCPU()
{
        wchar_t a[]=L"a";
        cout<<_T(a)<<endl;
        if (a[1])
        {
                return 0;
        }
        else
        {
                return 1;
        }
}
@龙  
回复

使用道具 举报

7657

回帖

86万

基友

34万

积分

天下一番

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

伯爵荣耀

发表于 2013-7-24 00:45:36 | 显示全部楼层
本帖最后由 龙 于 2013-7-24 00:48 编辑

不可以 因为数组成员永远是顺序存放的 无论大端小端

不过你可以这样:
  1. int tmp = 0xFF;
  2. char *p = (char *)&tmp;
  3. return p[0] == 0xFF;
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|苍海国际 ( 鲁ICP备13020644号-1 )

GMT+8, 2024-11-22 07:22 , Processed in 0.040186 second(s), 23 queries .

Powered by Discuz! Theme By eRic Modified by 4bpa

© CangHai International We Do Our Rights!

返回顶部