2016-11-07 47 views
-2

我需要加载最多2^32的整数。最多加载2^32 int

许多资源表明cinscanf只是不会加载数字这个大。

什么是加载如此大数字的最佳方式?

+0

'uint64_t'或'int64_t'可以更高。除此之外,你需要查看bignum库。 – druckermanly

+3

你是什么意思,“负荷?” – OldProgrammer

+0

你需要一个可以处理2^32值的整数吗?或者你想加载2^32字节到内存中? – Logman

回答

1

std::cinscanf要么应该工作:

#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); 

} 

要么将​​加载一个整数,是给,但没有包括2^32(和不小于0)。如果您需要更大的范围,请尝试64位整数(有符号或无符号)。

+0

这会“加载”到2^32 - 1 –

+0

@MM也许我错误地使用了它,但我通常区分“最多”和“最多和最多”,因为“最多但不包括”对我来说似乎太过分了。 – PSkocik