C++ 加载高达2^32整数
我需要加载高达2^32的整数 许多参考资料表明,C++ 加载高达2^32整数,c++,scanf,cin,C++,Scanf,Cin,我需要加载高达2^32的整数 许多参考资料表明,cin或scanf不会加载这么大的数字 加载如此大的数字的最佳方式是什么?std::cin和scanf中的任何一种都应该工作: #include <cinttypes> #include <cstdio> #include <iostream> int main() { uint32_t n; //with iostreams std::cin >> n; std::cout
cin
或scanf
不会加载这么大的数字
加载如此大的数字的最佳方式是什么?std::cin和
scanf
中的任何一种都应该工作:
#include <cinttypes>
#include <cstdio>
#include <iostream>
int main()
{
uint32_t n;
//with iostreams
std::cin >> n;
std::cout<<"read: "<<n<<'\n';
//with stdio
scanf("%" SCNu32, &n);
printf("read: %" PRIu32 "\n", n);
}
#包括
#包括
#包括
int main()
{
uint32\u t n;
//用iostreams
标准:cin>>n;
std::coutuint64\u t
或int64\u t
可以更高。除此之外,您还需要查找bignum库。您说的“加载”是什么意思您需要一个能处理2^32个值的整数吗?或者您想将2^32字节加载到内存中?一个整数不能容纳2^32,无论您用什么来读取它!这是因为第一位表示符号。也许您想要无符号int
?这将“加载”最多2^32-1@M.M也许我用错了,但我通常区分“达到”和“达到并包括”,因为“达到但不包括”对我来说似乎太多了。