Ir ao conteúdo
  • Cadastre-se
felipeS2

Teste de Overflow?

Recommended Posts

Não entendi como faz esse código, alguém pode fazer?

 

Uma variável inteira de 32 bits pode armazenar 232 valores. Considerando 
que metade são negativos e metade positivos, são valores representáveis no tipo INT do C++ 
de -2.147.483.648 até +2.147.483.647. 
Se eu quiser representar um número maior que 2.147.483.647, isto será impossível por falta 
de espaço na variável e este erro é chamado de OVERFLOW. 
Escreva um programa que mostre os fatoriais dos números entre 0 e 100. Como o fatorial é 
um número muito grande, haverá overflow no programa. Além disso, indique a partir de qual valor ocorreu overflow no seu fatorial. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você entendeu o que texto está dizendo? Sabe o que significa variável de 32 bits?

Na verdade você pode representar valores maiores que 2.147... com 32 bits, para isso é só usar uma variável unsigned para representar apenas valores positivos.

Mas seguindo o que o exerício pede, basta criar a função fatorial e verificar quando o valor retornado por ela passa a ser maior que 2.147...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma dica!

Exite um limite para armazenamento de valores dentro de um variável binaria;

Quando esse limite é atingido, o sistema simplesmente retorna a variável para 0;

Observe como isso ocorre aqui neste simples exemplo:

//char equivale a 1 byte, em sistemas 32bitsunsigned char OVER = 0; // Variável exclusivamente positiva, Iniciada com 0.    while(++OVER/*adiciona 1 a 1*/) printf("%d\n", OVER); //Atinge seu valor máximo e termina em zero ;

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

×