Circuitos DigitaisSistemas de Números e Códigos
Sistemas Decimal, Binário, Octal e Hexadecimal
17 min de leitura · 3ª mais cobrada em Circuitos Digitais
Sistemas posicionais
Em um sistema de numeração posicional, um número é uma sequência de dígitos e uma base (inteiro ). O dígito na casa — da direita para a esquerda, começando em — vale . A mesma quantidade admite várias escritas; o subscrito marca a base, e sem subscrito assume-se decimal. Com vírgula, a casa de expoente fica imediatamente à esquerda dela.
Circuitos digitais trabalham com bits (dígitos e , base ). Octal (base ) e hexadecimal (base ) existem porque e : cada dígito octal agrupa três bits, cada dígito hex agrupa quatro. Isso encurta endereços — números que identificam uma posição — e constantes, sem mudar o valor.
Valor posicional
Fixada a base , os dígitos permitidos são . Se o número tem casas até ,
Essa soma é a expansão posicional. Cada sequência de dígitos (sem zeros à esquerda, salvo o próprio zero) corresponde a um único inteiro não negativo, e cada inteiro tem exatamente uma escrita em cada base.
As quatro bases deste tópico:
- Decimal, : dígitos –. .
- Binário, : dígitos e , os bits. Um grupo de bits (um byte) distingue valores, de a .
- Octal, : dígitos –.
- Hexadecimal, : dígitos – e –, com , , , , , .
Um bloco de bits chama-se nibble. Como , cada nibble é um dígito hex; como , cada trio de bits é um dígito octal.
| Hex | Bits | Hex | Bits |
|---|---|---|---|
Há dois algoritmos, e eles não se misturam: divisão sucessiva passa um inteiro decimal a outra base; agrupamento passa a escrita em bits para octal ou hex. Zero de preenchimento, quando falta um bloco completo, entra só à esquerda do número inteiro — inserir zero no meio inventa bits e muda o valor. Hex octal passa pelos bits.
Decimal para binário, octal e hex
Converter para binário: divisão sucessiva por . O resto é o dígito da casa em que a divisão cai; o quociente é o inteiro que ainda falta escrever à esquerda.
Começa-se pelo inteiro: a primeira divisão é por , e o resto é o dígito da casa (peso ). :
- , resto
- , resto
- , resto
- , resto
- , resto
O quociente encerra: não resta inteiro para uma casa mais alta. Os restos de baixo para cima são , porque o primeiro resto ficou na casa e o último na mais alta. Conferência: .
O mesmo em octal: a base destino é , então cada resto é um dígito –. resto , depois resto , logo . Em hex: resto , logo . De fato .
Quando o resto passa de , escreve-se letra. resto ; resto (); resto . Logo . Conferência: .
A volta para decimal é a expansão posicional, só com expoentes . . .
Parte fracionária e pesos
A expansão inteira para na casa de expoente . A vírgula continua a contagem para a direita: o expoente é a posição relativa a ela, e nessas casas . Em qualquer base , a casa pesa . Em binário, os pesos logo após a vírgula são , , , e a metade do peso anterior em cada casa seguinte.
A parte fracionária vale
Casa com dígito não entra na soma. A parte inteira converte-se pela expansão de expoentes e soma-se a essa parcela; nenhum expoente aparece dos dois lados da vírgula.
Cada casa à direita divide o peso por , porque . A regra é a mesma da parte inteira; muda só o sinal de .
Converter para decimal.
A vírgula está à esquerda do primeiro . As três casas ocupadas por têm expoentes , e .
Logo .
De hex para octal, bit a bit
O agrupamento funciona porque três bits valem , um inteiro –; quatro bits valem –, um dígito hex. Recortar da direita alinha o peso com o bit menos significativo. Recortar da esquerda, ou inserir zero entre nibbles, desloca os pesos.
Primeiro um binário já alinhado. parte em nibbles e . Conferência: e .
Com comprimento que não é múltiplo de : tem sete bits. Da direita os trios são ; o zero entra só à esquerda, . Conferência: e . Agrupar como (preenchimento à esquerda e um bit inventado à direita) produz o octal falso .
Agora hex octal sem preencher nibble a nibble.
Converter para octal. , (), . Concatenar, sem zero entre os nibbles:
São doze bits, os que o número realmente tem.
hex
bits
octal
Grupos: . Cada trio é um dígito octal: , , , . Logo
Conferência em decimal: e .
Completar cada nibble com zeros extras antes do agrupamento produz e o octal , que não vale . Os bits verdadeiros são doze; o padrão falso tem quinze.
No outro sentido, vira , junta , recorta em nibbles e volta . Mesma regra para hex: junta ; zero à esquerda do número inteiro dá .
Octal binário é o inverso do trio: vira , ou seja . Hex binário: vira . Nenhum zero extra entre dígitos.
Faixa de endereços inclusive
Uma faixa de endereços até inclusive — os dois extremos entram — tem
valores, calculados na mesma base. Esquecer o conta um endereço a menos. Com só obtém-se a contagem de um intervalo aberto à direita.
Os endereços de até , os dois inclusive, formam quantos valores?
Nibble baixo: . Nibble seguinte: . Os dois nibbles altos já são .
. Como , . Pelo decimal: , , e .
Em binário os extremos são e ; a quantidade continua . O resultado não é o número de bits do intervalo, e sozinho daria .
Um caso-limite: de até inclusive há exatamente endereço. De até inclusive há valores — um nibble cheio.
Em Resumo
Valor posicional: o dígito na casa vale ; binário, octal e hex usam .
Decimal outra base, na parte inteira: divisão sucessiva pela base destino; restos de baixo para cima. A volta inteira é a soma com expoentes .
Parte fracionária: à direita da vírgula, e o peso é ; . Essa parcela soma-se à parte inteira.
Hex octal: cada hex bits, concatenar, recortar da direita em trios (ou o inverso). Zero só à esquerda do número, nunca entre nibbles. ; preenchimento errado produz .
Faixa inclusive tem valores; até são endereços.