Introdução à Arquitetura de Computadores/Representação Numérica: diferenças entre revisões

[edição verificada][edição verificada]
Conteúdo apagado Conteúdo adicionado
m Foram revertidas as edições de 93.108.243.225 (disc) para a última revisão de Raylton P. Sousa
m "excessão" não existe.
Linha 89:
* Subtraímos um número negativo de um positivo.
 
É de responsabilidade do ''hardware'' sempre verificar se ocorreu um ''overflow'' nestes casos. Normalmente, para fazer a verificação basta conferir os sinais dos números. Em caso afirmativo, ele deve ativar um sinal de exceção. O que é feito caso uma excessãoexceção seja detectada depende de cada programa.
 
O MIPS, por exemplo, sempre armazena o endeereçoendereço da última instrução que gerou excessãoexceção em um registrador especial chamado EPC. A instrução '''mfc0''' (''Move from System Control'') é usada para copiar este endereço para um registrador de propósito geral que pode ser conferido por algum programa. Cabe ao programador destedesse programa decidir o que fazer.
 
Em lingüagenslinguagens de alto nível, o comportamento depende da lingüagemlinguagem usada. C, por exemplo, ignora todos os Overflows. Ao contrário de Fortran ou Ada que requerem que o programa sempre seja avisado.
 
'''Underflow''' é o que aconteceeacontece quando lidamos com um número real tão próximo de 0 que o valor do expoente não pode ser corretamente representado. Quando um programa requer uma precisão tão grande assim, recomenda-se o uso de pontos flutuantes de dupla precisão (''double'') para evitar este inconveniente.
 
{{AutoCat}}