繁体   English   中英

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

[英]how to handle big integer data more than 8 byte or more than 20 digits in 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

在C ++中没有比unsigned long long更大的内置类型。

你有2个选择:

  • 使用支持“BigInts”的库(例如gmp
  • 实现自己的“BigInt”类

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

Gmplib

BIGINT

有关详情,请参阅

任意precision_arithmetic#库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM