c++正大整数运算
时间: 2023-07-01 18:26:46 浏览: 58
C++中可以使用自带的数据类型`unsigned long long`来进行大整数运算,但是有时候仍然可能会出现超出范围的情况,这时候可以使用第三方库如GMP(GNU Multiple Precision Arithmetic Library)来进行大整数运算。
以下是使用GMP库进行大整数加法、减法、乘法和除法的示例代码:
```c++
#include <iostream>
#include <gmpxx.h>
int main() {
mpz_class a = 12345678901234567890;
mpz_class b = 98765432109876543210;
mpz_class c;
// 加法
c = a + b;
std::cout << "a + b = " << c << std::endl;
// 减法
c = a - b;
std::cout << "a - b = " << c << std::endl;
// 乘法
c = a * b;
std::cout << "a * b = " << c << std::endl;
// 除法
c = a / b;
std::cout << "a / b = " << c << std::endl;
return 0;
}
```
上述代码中,`mpz_class`是GMP库中的大整数类型,可以用来存储任意大小的整数。在进行加减乘除等运算时,可以直接使用`+`、`-`、`*`、`/`等运算符进行操作。