Arquitetura de computador
As palavras de um computador são compostas por bits e podem representar números armazenados na memória principal armazenados na memória. Estes números podem ter diferentes significados. 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.
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.
1.1 Conversão de Binário para Decimal
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 coma 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. 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 é iguala 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 underflow geram exceções e são tratados pelo sistema operacional. Exercicios: 1) Converta da base 2 para base 10: a) (1000)2 b) (1010)2 c) (0101)2 d) (0111)2
1.2 Conversão Decimal para Binário
A conversão do número inteiro,