我必须使用可以跨越4个字节以上的无符号整数,我应该使用什么类型?
PS对不起"noobism",但就是这样:D
注意:我需要整数,因为我必须做除法,只关心整数部分,这样int很有用
Ces*_*arB 11
只需包含<stdint.h>并使用int64_t和uint64_t(因为你想要无符号,你需要uint64_t).
该标头上还有其他几个有用的变体,例如最少变体(uint_least64_t是至少64位的类型)和快速变体(uint_fast64_t是具有至少64位的最快整数类型).同样非常有用的是intptr_t/uintptr_t(对于void*指针足够大)和intmax_t/uintmax_t(最大类型).
如果由于某种原因你的编译器没有<stdint.h>(因为IIRC它是C标准,而不是C++标准),你可以使用Boost的boost/cstdint.hpp(你可以使用它即使你有一个<stdint.h>,因为在这种情况下它应该简单地转发到编译器的头部).
任君选择:
\n\nlong long(\xe2\x80\x939,223,372,036,854,775,808 至 9,223,372,036,854,775,807)
unsigned long long:(0 至 18,446,744,073,709,551,615)
| 归档时间: |
|
| 查看次数: |
1064 次 |
| 最近记录: |