如何在c ++中表示大数字

use*_*893 2 c++ integer

我试图在c ++中代表一些大数字.在下面的代码中,如果尝试只打印s编译器就不会抱怨.但是如果尝试进行一些乘法并将其存储在t编译器中会说integer overflow in expression...

我试图制作它,unsigned long long t但编译器再次抱怨.在没有任何溢出的情况下,有没有办法进行这种乘法?

int main ()
{
    long long int s = 320718425168;
    long long int t = 4684688*68461; //4684688*68461 = 320718425168

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Col*_*mbo 7

用作产品因素的文字是类型int,不能代表产品.

long long首先要考虑其中一个因素.

long long t = (long long)4684688 * 68461;
Run Code Online (Sandbox Code Playgroud)

或使用相应的文字后缀llLL更改文字类型.即

long long t = 4684688LL * 68461;
Run Code Online (Sandbox Code Playgroud)

演示.