我想在我的C ++代码中使用64位整数。我知道我可以#include <cstdint>
然后声明uint64_t
或使用unsigned long long
(或等效的签名版本)。
但是,似乎直到C++11
才添加对此的支持,我希望我的代码与不具备完整C ++ 11支持的编译器兼容。
在C ++中支持64位整数的好方法是什么?
答案 0 :(得分:7)
uint64_t
是:
可选:如果没有类型,则不定义这些typedef 特征存在。
您可以阅读ref。
来自Should I use long long or int64_t for portable code?:
类型
long long
和unsigned long long
是标准C和标准C ++类型,每个类型至少有64位。我知道的所有编译器都提供这些类型,但可能在-pedantic
模式下,但在这种情况下,{C} 2011编译器将无法使用int64_t
或uint64_t
。 “
g ++ / clang支持long long
/ int64_t
的日期是什么日期?
自GCC 4.3(又名March 5, 2008)。
正如DavidÁlvarez所说。