wq_601840968 发表于 2019-1-29 13:15:35

关于arm9平台(32位) long long 类型,输出错误问题

arm9平台上,gcc4.2编译器下,如下代码:

unsigned long longgetLongLongNum(void)
{
    printf("sizeof(long long) = %d \r\n",sizeof(long long));
    unsigned long long_num= 0x18011112222;
    printf("_num = 0x%llx \r\n",_num);
    return _num;
}
int main()
{
    unsigned long longaaa = getLongLongNum();
    printf("aaa= 0x%llx \r\n",aaa );
    printf("bbb = 0x%llx \r\n",getLongLongNum());
}
结果如下:
sizeof(long long) = 8
_num = 0x18011112222
aaa    = 0x11112222

sizeof(long long) = 8
_num = 0x18011112222
bbb   = 0x1111222200000000

这是什么逻辑?

wye11083 发表于 2019-1-29 18:37:18

printf不支持吧。
页: [1]
查看完整版本: 关于arm9平台(32位) long long 类型,输出错误问题