在64位数据模型上指定64位无符号整数文字

Zac*_*Saw 26 c++ 64-bit integer

由于存在各种类型的64位数据模型(LLP64/IL32P64,LP64/I32LP64,ILP64,SILP64),指定64位无符号整数文字的标准符合方式是什么?

指定ULL的后缀是否足够?或者我最终会在某些数据模型上将文字解释为128位?

unw*_*ind 39

<cstdint> / <stdint.h>如果你有,你应该使用它.这会给你:

  • uint64_t 是无符号整数类型,其大小为64位
  • UINT64_C()是一个用于创建类型常量uint64_t的宏,通过让宏附加正确的后缀.

  • 是否UINT64_C保证在C++中可用?(问题是关于C++,而不是C99) (2认同)