Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用c+打印2^64整数+; 我正在解决C++中的一个编程问题。问题是,输入的数字不大于2^64。 如何在C++中用大数字工作?我还必须对数字使用减法。_C++_Biginteger - Fatal编程技术网

用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”——如果有兴趣,可以用谷歌搜索它