如何处理c ++中大于8字节或大于20位的大整数数据

时间:2016-04-30 07:21:43

标签: c++

integer的大小为4,long long int为8字节,它可以访问大约19位数据,对于无符号长long int大小也是8字节,但处理的值大于long long int但这是少于20位。有任何方法可以处理超过20位的数据。

#include<iostream>
using namespace std;
int main()
{
    unsigned long long int a;//any data type more than 8 byte can handle
    cin>>a;
    if(a>789456123789456123123)//want to take a higher thand this digits
    {
        cout<<"a is larger and big data"<<endl;
    }
}

我搜索了一段时间,但没有找到有用的内容。所有关于java biginteger

2 个答案:

答案 0 :(得分:3)

C ++中没有大于unsigned long long的内置类型。

您有两个选择:

  • 使用支持“BigInts”的库(例如gmp
  • 实施自己的“BigInt”课程

答案 1 :(得分:1)

您可以使用库来实现它。 许多图书馆都可供使用。如:

Gmplib

bigint

详情请见

Arbitrary-precision_arithmetic#Libraries