用c+打印2^64整数+; 我正在解决C++中的一个编程问题。问题是,输入的数字不大于2^64。 如何在C++中用大数字工作?我还必须对数字使用减法。
有一种数据类型:用c+打印2^64整数+; 我正在解决C++中的一个编程问题。问题是,输入的数字不大于2^64。 如何在C++中用大数字工作?我还必须对数字使用减法。,c++,biginteger,C++,Biginteger,有一种数据类型:long,它保证至少有64位(从C++11开始)。假设没有负值,则可以在类型为unsigned long-longuint64\u t/unsigned long-long的变量中存储最多2^64(但不包括)的值,因此,如果您没有正好2^64的输入,或者没有对其进行特殊情况处理,则可以存储0到2^64-1的数字(例如,通过设置布尔值并在必要时使用替代公式),您可以不使用uint64\u t。如果值可能为负数,这将更不可能实现,因为int64\u t可以处理的数字的大小将为-2^6
long
,它保证至少有64位(从C++11开始)。假设没有负值,则可以在类型为unsigned long-long
uint64\u t
/unsigned long-long
的变量中存储最多2^64(但不包括)的值,因此,如果您没有正好2^64的输入,或者没有对其进行特殊情况处理,则可以存储0到2^64-1的数字(例如,通过设置布尔值并在必要时使用替代公式),您可以不使用uint64\u t
。如果值可能为负数,这将更不可能实现,因为int64\u t可以处理的数字的大小将为-2^63…2^63-1
您可以使用[long
]double
或float
来存储数字-对于一些较大的整数,值可能是近似值
你也可以得到一个能够处理大量数据的库——例如“GMP”——如果有兴趣,可以用谷歌搜索它