Números binários
Capítulo 6 Aritmética Computacional
As palavras de um computador são compostas por bits e podem representar números armazenados na memória. Estes números podem ter diferentes significados, como inteiros ou reais, serem positivos ou negativos. A manipulação dos números inclui operações de soma, subtração, multiplicação e divisão. O objetivo deste capítulo é mostrar como o hardware implementa a representação dos números, os algoritmos adequados para operações aritméticas e sua implicação no conjunto de instruções da máquina.
6.1 Números com Sinal e Números sem Sinal
Os números podem ser representados em qualquer base. Porém, a base 2 é a mais adequada para os computadores porque tratam com somente dois valores 0 e 1. Estes valores são implementados facilmente através de circuitos elétricos. Da aritmética temos que, em qualquer base, o valor do i-ésimo dígito d de um número é dado por: d x basei, onde i começa em 0 e cresce da direita para a esquerda, de acordo com a posição ocupada pelo dígito. Por exemplo, o número 1011 na base dois é igual a: (1x23) + (0x22) + (1x21) + (1x20) = (1x8) + (0x4) + (1x2) + (1x0) = 8 + 0 + 2 + 1 = 11. Portanto, os bits são numerados como 0,1,2,3,... da direita para a esquerda em uma palavra. Utilizamos a expressão bit menos significativo para designar o bit 0, e a expressão bit mais significativo para designar o bit de mais alta ordem, como por exemplo o bit 31 numa palavra de 32 bits. 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