【发布时间】:2018-04-04 14:24:55
【问题描述】:
Consigne:每个整数都在 1 - 109 的范围内。
我使用unsigned long long int类型的变量
对于规定的范围是否足够?
【问题讨论】:
-
它依赖于平台。使用
stdint.h和uint64_t(注意uint32_t对于这样的范围就足够了) -
1e10 超出 32 位范围,是的。
-
@Jean-FrançoisFabre:但你在这里当然是正确的。我会停止拖钓你的 cmets ;-)
-
不,不要使用
uint64_t,除非您需要 64 位 且仅此而已的类型。uint_least64_t更便携(至少理论上如此)。 -
“每个整数”是什么意思?您的程序将读取并存储在对象中的每个整数?或者您的程序是否会对这些值进行各种算术运算,这样,尽管输入值被限制为 10^9,但需要更多位来适应将对它们执行的算术运算?