gpt4 book ai didi

c++ - 超出 C++ 最大整数数据类型

转载 作者:太空狗 更新时间:2023-10-29 20:38:50 26 4
gpt4 key购买 nike

我正在编写一个组合计算器,对于更大的计算,我最终遇到了 long long intint64_t 溢出。是否有可能,至少,将数字转换成这样的东西:6.7090373691429E+19?

这是我的代码:

#include <iostream>
#include <string.h>
#include <math.h>

int main() {


std::string charset;
int i, length; int64_t total = 0;

std::cout << "Charset: ";
std::cin >> charset;
std::cout << "Length: ";
std::cin >> length;

for (i=0;i<(length+1);i++) {
total += pow(charset.size(),i);
}

std::cout << "\nPossible combinations: " << total << std::endl;

return 0;
}

最佳答案

C++ 标准库不包含任意大小的整数类型。

您可以使用 Boost Multiprecision为了这。它有不同的后端,使用专用库(例如 GMP)和没有外部依赖项的自定义后端(cpp_int)。

编辑:公平地说,vsoftco 已经在评论中提到了 Boost Multiprecision。

关于c++ - 超出 C++ 最大整数数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30403427/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com