Ir ao conteúdo
  • Cadastre-se
igorbastoscic

C Erro overflow Linguagem C Usando For

Recommended Posts

prezados,

acabei de entrar em um curso de Ciência da computação e estou com um problema na seguinte questão: você deve calcular a^b mod 10^9. Essa questão deve usar o laço de repetição For apenas. O problema é que quando a potencia é algo do tipo 2^40, ocorre overflow, como eu resolvo isso ?

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use long long ao invés de int.

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, todos bem?

 

Em sistema 32 bits, maior expoente (b) de 2 (a) é: 63.

Então significa dizer que overflow foi de 32 para 64 bits. 

 

Assim como nos diz o colega@iHollyZinhO , long long vai ativar uma maior largura do vetor de bits (tipo int no caso) para 64 bits, ou seja: sizeof (long long) == 8.

 

 

 

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×