Sistemas de Numeração

Analista - IRB - 2004
17- Uma maneira de determinar se ocorreu ou não overflow durante a soma ou subtração de dois números é por meio da análise do resultado da operação. Considerando a soma de dois números inteiros positivos A e B, diferentes de zero, pode-se afirmar que ocorreu overflow quando o resultado é
a) zero.
b) positivo.
c) negativo.
d) igual a A, isto é, à primeira parcela da soma.
e) igual a B, isto é, à segunda parcela da soma.
Gabarito: c

18- Considerando as regras de overflow para a subtração, é correto afirmar que ocorreu overflow se o resultado, ao se subtrair
a) um número negativo de um número positivo, for zero.
b) um número positivo de um número positivo, for zero.
c) um número positivo de um número negativo, for negativo.
d) um número negativo de um número positivo, for positivo.
e) um número negativo de um número positivo, for negativo.

Gabarito: e

Acontece que a ULA (Unidade Lógica Aritmética), responsável pelos cálculos, armazena os resultados em registradores, memórias muito rápidas e de capacidade limitada. Portanto, se eu somar dois números muito grandes pode ser que não tenha espaço para representar o resultado no registrador, e a este fenômeno chamamos de overflow (transbordar).
Acontece que o hardware da máquina utiliza o bit mais a esquerda para representar números negativos da forma: -5 = [1 101] e 5 = [0 101] Ocorre que se o resultado da minha operação é muito grande o resultado será armazenado neste registrador e este bit vai ser setado para um, e portanto o resultado será mostrado como um número negativo, e incorreto. No exemplo anterior onde meu registrador tem 5 bits, pense que eu queria armazenar o resultado de 5 + 5 = 10 (1010). Sacou? O resultado vai acabar aparecendo como -2! Acontece que se eu somo dois números positivos o resultado tem que ser positivo, correto? Mas se ao final desta operação eu encontrar um número negativo então houve alguma coisa de errado .... overflow!
A segunda questão segue o mesmo princípio, mas o cara tentou complicar mais um pouquinho. Bem, lembre-se do ensino médio que: 5 - ( - 5) = 10 Portanto, segue o mesmo princípio: se ao somar os dois números anteriores aparecer um número negativo (-2 por exemplo) então ocorreu algo de errado na aritmética: overflow.
1 comentário

Postagens mais visitadas deste blog

MANUAL DE REDAÇÃO DA PRESIDÊNCIA DA REPÚBLICA

Plural de substantivos compostos

Atualidades - 15 de agosto de 2016