Arquitetura de Computadores · material complementar
Síntese
A medição associa a um fenômeno uma grandeza numérica e uma unidade de medida.
Os fenômenos naturais e tecnológicos podem ser observados por seus efeitos. Para descrevê-los de forma objetiva, é necessário mensurá-los. A medição associa ao fenômeno uma grandeza numérica e uma unidade de medida. Assim, expressões como 5 V, 27 °C, 3,2 s ou 80 km/h combinam um valor numérico com a unidade empregada para caracterizar a grandeza observada.
Número representado em uma base
Um número representado em um sistema de numeração de base b será indicado por N_b.
Na expressão N_b, N representa o número e b representa a base, isto é, a cardinalidade de um conjunto finito e ordenado de dígitos:
B_b=\{d_0,d_1,\ldots,d_{b-1}\}
O conjunto B_b contém exatamente b dígitos distintos. Esses dígitos são ordenados segundo seu valor. Assim, se dois dígitos d_i e d_j aparecem no conjunto e j>i, então:
d_j > d_i
Consequentemente, cada sistema de numeração é definido por uma base e pelo conjunto ordenado de símbolos admitidos como dígitos. Por exemplo, a base 2 utiliza dois dígitos; a base 10 utiliza dez; e a base 16 utiliza dezesseis.
Considere um número N_b representado por m dígitos. Na notação posicional, ele é escrito como:
N_b=(d_{m-1}d_{m-2}\ldots d_2d_1d_0)_b
Os subscritos indicam a posição relativa ocupada por cada dígito. Em um número com m dígitos, as posições são numeradas da direita para a esquerda, de 0 até m-1:
O termo “significativo” decorre do peso associado à posição. Quanto mais à esquerda estiver o dígito, maior será a potência da base que o pondera.
A notação polinomial explicita o peso posicional de cada dígito. Para um número inteiro não negativo com m dígitos:
N_b=\sum_{i=0}^{m-1} d_i\,b^i
ou, de forma expandida:
N_b=d_{m-1}b^{m-1}+d_{m-2}b^{m-2}+\cdots+d_2b^2+d_1b^1+d_0b^0
Essa expressão mostra formalmente por que a posição altera o valor representado por um mesmo dígito: cada d_i é multiplicado por uma potência de b determinada por sua posição i.
O sistema decimal utiliza a base b=10 e o conjunto ordenado:
B_{10}=\{0,1,2,3,4,5,6,7,8,9\}
Assim, por exemplo:
(527)_{10}=5\cdot10^2+2\cdot10^1+7\cdot10^0
Para representar grandezas muito grandes ou muito pequenas, utiliza-se convenientemente a notação em potências de 10 e os prefixos do Sistema Internacional.
| Potência | Prefixo | Símbolo | Potência | Prefixo | Símbolo |
|---|---|---|---|---|---|
| 10-3 | mili | m | 103 | quilo | k |
| 10-6 | micro | µ | 106 | mega | M |
| 10-9 | nano | n | 109 | giga | G |
| 10-12 | pico | p | 1012 | tera | T |
Por exemplo, 1\,ns=10^{-9}\,s e 1\,GHz=10^9\,Hz.
Qualquer base inteira b\ge2 pode definir um sistema posicional. Além da base 10, podem ser usados, por exemplo, sistemas de base 3, 8, 12 ou 16. Em Arquitetura de Computadores, entretanto, duas bases merecem destaque especial: base 2 e base 16.
O sistema binário utiliza:
B_2=\{0,1\}
Cada dígito binário recebe o nome de bit, contração de binary digit. Um bit pode assumir apenas um dos dois valores matemáticos possíveis: 0 ou 1.
Oito bits formam convencionalmente um byte:
1\ byte = 8\ bits
Como a organização das memórias digitais está diretamente relacionada a potências de 2, aparece com frequência o valor:
2^{10}=1024
Historicamente, 1024 bytes foi frequentemente chamado de “1 KB” ou, informalmente, “1 k”. Isso cria uma ambiguidade, porque no Sistema Internacional o prefixo quilo (k) significa exatamente 10^3=1000.
| Convenção decimal (SI) | Valor | Convenção binária (IEC) | Valor |
|---|---|---|---|
| 1 kB | 103 bytes = 1.000 bytes | 1 KiB | 210 bytes = 1.024 bytes |
| 1 MB | 106 bytes | 1 MiB | 220 bytes |
| 1 GB | 109 bytes | 1 GiB | 230 bytes |
Assim, em textos técnicos, é conveniente distinguir os prefixos decimais k, M, G dos prefixos binários Ki, Mi, Gi.
O sistema hexadecimal utiliza dezesseis dígitos:
B_{16}=\{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F\}
Os símbolos A, B, C, D, E e F representam, respectivamente, os valores decimais 10, 11, 12, 13, 14 e 15.
A base 16 é especialmente conveniente em sistemas computacionais porque:
16=2^4
Logo, um dígito hexadecimal representa exatamente quatro bits. Como um byte possui oito bits, dois dígitos hexadecimais representam exatamente um byte.
Essa correspondência direta torna a representação hexadecimal mais compacta e facilita a leitura de endereços de memória, registradores, códigos de máquina e máscaras de bits.
As grandezas numéricas possuem representações equivalentes entre os diferentes sistemas de numeração. A tabela apresenta a equivalência dos dígitos numéricos dos sistemas de base 2 (binária), 10 (decimal) e 16 (hexadecimal).
| Base 2 | Base 10 | Base 16 | Base 2 | Base 10 | Base 16 |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 1000 | 8 | 8 |
| 1 | 1 | 1 | 1001 | 9 | 9 |
| 10 | 2 | 2 | 1010 | 10 | A |
| 11 | 3 | 3 | 1011 | 11 | B |
| 100 | 4 | 4 | 1100 | 12 | C |
| 101 | 5 | 5 | 1101 | 13 | D |
| 110 | 6 | 6 | 1110 | 14 | E |
| 111 | 7 | 7 | 1111 | 15 | F |
Para obter o número representado em base 10 (N10) no seu equivalente em base 2 (N2) ou em base 16 (N16), aplica-se o seguinte método:
Na conversão da base 10 para a base 2 pode-se também utilizar o comportamento da notação polinomial.
A tabela mostra um exemplo para 23510 convertido à base 2.
| 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 |
Para obter o número representado em base 2 (N2) ou base 16 (Nh) no seu equivalente em base 10 (N10), aplica-se o seguinte método:
Para obter o número representado em base 2 (N2) no seu equivalente em base 16 (N10), aplica-se o seguinte método:
As grandezas numéricas utilizadas pelos computadores podem ser representadas em qualquer sistema de numeração. Para não haver ambiguidade de interpretação, utilizaremos a seguinte notação: