2015-04-27 53 views
1

我正在用C++解决一个编程问题。问题说输入数字不大于2^64。在C++中打印2^64整数

如何在C++中使用这个大数字?我也必须使用减号。

回答

1

uint64_t/unsigned long long可以存储从0到2^64-1的数字,所以如果您没有准确的2^64输入或特殊情况下的处理(例如,通过设置布尔值并使用必要时可以使用替代配方),您可以使用uint64_t。如果值可能是负值,则这将更不可取,因为int64_t可以处理的数量级将是-2^63 ... 2^63-1 ....

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

你也可以得到一个图书馆能够处理非常大的数字 - 例如, “GMP” - 谷歌它如果感兴趣。

2

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