在c ++中打印2 ^ 64整数

时间:2015-04-27 04:01:13

标签: c++ biginteger

我正在解决c ++中的编程问题。问题是输入数字不大于2 ^ 64。

如何使用c ++中的大数字?我也必须使用数字减法。

2 个答案:

答案 0 :(得分:2)

有一种数据类型:long long保证至少有64位(从C ++ 11开始)。假设您没有负值,则可以将值最多为2 ^ 64(但不包括)存储在unsigned long long类型的变量中。

答案 1 :(得分:1)

uint64_t / unsigned long long可以存储0到2 ^ 64-1之间的数字,因此,如果您要么没有输入2 ^ 64,或者特殊情况处理(例如) ,通过设置布尔值并在必要时使用替代公式,您可以使用uint64_t。如果值可能是负数,那么这将是更不可能的,因为int64_t可以处理的数字的大小将是-2 ^ 63 ... 2 ^ 63-1 ....

您可以使用[long] doublefloat来存储数字 - 对于某些较大的整数,值可能是近似值。

您还可以获得一个能够处理非常大数字的库 - 例如“GMP” - 谷歌如果感兴趣的话。