Que tipo para um número inteiro de mais de 4 bytes?
Pergunta
Eu tenho que usar inteiros sem sinal que poderiam se estendem a mais de 4 bytes, que tipo devo usar?
PS Desculpem o "noobism" mas é isso: D
NB: Eu preciso de números inteiros, porque eu tenho que fazer divisões e cuidado apenas para as peças inteiras e desta forma int são úteis
Solução
long long , 64 bit inteiro ... aqui pode encontrar alguma referência sobre os tipos de dados e varia ...
Outras dicas
Basta incluir
Existem várias outras variantes úteis no cabeçalho que, como a pelo menos variantes (uint_least64_t é um tipo com, pelo menos, 64 bits) e as variantes rápidos (uint_fast64_t é o tipo mais rápido inteiro com, pelo menos, 64 bits). Também muito úteis são intptr_t / uintptr_t (grande o suficiente para um * ponteiro void) e intmax_t / uintmax_t (maior tipo).
E se por algum motivo o seu compilador não tem um
Faça a sua escolha:
long long
(-9,223,372,036,854,775,808 para 9,223,372,036,854,775,807)
unsigned long long
: (0 a 18,446,744,073,709,551,615)
Se precisar de números inteiros muito longos (de precisão arbitrária), você também pode tentar a biblioteca gmp , que também fornece a ++ interface baseada classe C.
unsigned long long - é pelo menos 64 bits de comprimento