smi*_*dha 12 c c++ 64-bit long-integer
我正在使用Ubuntu 10.10(64位),gcc我想在我的C++程序中使用64位整数.
在我的系统的输出sizeof(long), sizeof(long long int)并且sizeof(int64_t)是所有8个字节(64位).
您推荐使用64位整数的限定符(long,long long或int64_t)?
您需要64位还是至少64位?
使用哪种的int64_t,int_least64_t或int_fast64_t最清楚地表达你的意图.(这三种方法几乎肯定是当前系统上的相同类型,但记录您的意图很有价值.)
所有实现必须提供int_least64_t和int_fast64_t.至少在理论上int64_t可能不存在(例如,如果编译器具有128位类型但没有64位类型,或者如果有符号整数不使用2的补码表示).
(但在我见过的每个C99-ish实现中,long long都是64位,并且int64_t存在.)