C++ c+上的整数溢出+;以及如何添加大数字
我正在编写一个包含大量数字的问题。 我遇到了一个关于如何处理整数溢出的问题。 当我加上多个大数字时,我得到一个负数。 我该怎么处理?我的数据类型也是C++ c+上的整数溢出+;以及如何添加大数字,c++,integer,overflow,C++,Integer,Overflow,我正在编写一个包含大量数字的问题。 我遇到了一个关于如何处理整数溢出的问题。 当我加上多个大数字时,我得到一个负数。 我该怎么处理?我的数据类型也是 unsigned long long p=0; 我该怎么做才能保持正值并继续添加?有很多方法可以做到这一点。您可以使用它来存储128位变量 如果您不想安装其他库,您可以始终在数组中表示您的变量,其中每个元素都是变量的一个数字。如果您不介意丢失一些精度,您可以使用双精度(或长双精度)之类的东西,它可以容纳任意大的数字。因为您使用的是long
unsigned long long p=0;
我该怎么做才能保持正值并继续添加?有很多方法可以做到这一点。您可以使用它来存储128位变量
如果您不想安装其他库,您可以始终在数组中表示您的变量,其中每个元素都是变量的一个数字。如果您不介意丢失一些精度,您可以使用双精度(或长双精度)之类的东西,它可以容纳任意大的数字。因为您使用的是long-long,所以要保持完美的准确性,您唯一的选择似乎是要么使用实现此功能的库,要么自己编写一个库,其中较大的数字必须保存在另一个表示较大数字的long-long中,并且数学运算必须考虑存储大于long-long的值 这可能会有帮助:您的意思是结果应该小于该类型的最大值,但会发生溢出?