Estaremos nos próximos dias falando sobre a aritmética computacional, onde o objetivo é mostrar como o hardware implementa a representação dos números, os algoritmos para operações aritméticas e sua implicação no conjunto de instruções da máquina.

Números com sinal e números sem sinal

Por serem implementados com maior facilidade nos circuitos elétricos a base 2 é a mais adequada para os computadores pois trabalham somente com dois valores 0 e 1.

Ex:

Faixa de numero sem sinal para 8 bits seria: (0 a 255)

0000 0000(2) = 0(10)
0000 0001(2) = 1(10)
0000 0010(2) = 2(10)

1111 1100(2) = 252(10)
1111 1101(2) = 253(10)
1111 1110(2) = 254(10)
1111 1111(2) = 255(10)

Como o tamanho de uma palavra manipulada por um computador tem tamanho limitado, os números que podem ser representados também têm tamanho limitado. Se o tamanho de uma palavra é igual a n bits, o maior número possível de ser representado é igual a 2n. Se ao realizarmos operações sobre os números, elas gerarem resultados que não podem ser representados na quantidade de bits reservados ocorre o que denominados de overflow (números muito grandes) ou underflow (números muito pequenos). Tanto o overflow quanto o underflow geram exceções e são tratados pelo sistema operacional.

Representação dos números:

  • Números reais: infinitos.
  • No computador: finitos.
  • Maioria: grande quantidade de zeros à esquerda.
  • Computador: pode lidar com números até um certo tamanho.
  • Overflow: tratado pelo sistema operacional.
  • No computador: é preciso representar números com sinal.

Solução: usar 1 bit (sinal magnitude).

  • Primeira tentativa: o bit mais significativos (MSB) é usado para sinal.

Problema: duas representações para o zero
Solução mais usada: complemento a 2

Próximo post estaremos abordando a adição e subtração, aguardem.