type unsigned long long int是否足够1到10 ^ 9范围?

Mel*_*una 3 c types

Consigne:每个整数都在1到10 9的范围内.

我在类型中使用变量 unsigned long long int

对于规定的范围是否足够?

Bat*_*eba 5

是的(假设您采用表示法10^9的意思1e9- ^是C中的XOR运算符,并且10^93).

一个unsigned long long具有能够存储一个数0 2之间和64 - 1.您的最大比这要小很多.

另请注意,unsigned long必须能够存储介于0和2之间的数字32 - 1.您的最大值也小于此值.


Jea*_*bre 5

10 ^ 9小于2 ^ 32

因此,在您的情况下,不需要使用unsigned long long(它适合,是),这是过度杀伤,可能会导致运行速度变慢.

使用正确的类型,在stdint.hinclude:uint32_tuint_least32_t(uint32_t vs uint_fast32_t vs uint_least32_t)中标准化

long也保证至少32位,所以它也是一个好的和简单的选择.