Professional Documents
Culture Documents
Tanto se empregan en procesos de datos, como en sistemas de control, os sistemas dixitais teñen
que realizar operación con números que poden estar representados en calquera sistema de
numeración. Os distintos sistemas de numeración vanse diferenciar pola súa base, é dicir, pola
cantidade de símbolos distintos empregados para expresar calquera cantidade. Desde o punto de
vista matemático poden ter calquera base pero os máis empregados son o decimal, o binario, o octal
e o hexadecimal.
Sistema Decimal.
O sistema decimal é o sistema de numeración empregado na vida cotiá, probablemente porque
temos dez dedos nas mans. É un sistema de base 10, emprega dez díxitos ou símbolos (0,1,2,...,9),
posicional, que quere dicir que cada un deses símbolos expresa unha cantidade que pode variar en
magnitude dependendo da posición que ocupa dentro dunha cifra.
Exemplo: O número 222 está formado por un único símbolo repetido tres veces pero en distintas
posicións e polo tanto con distinto valor: o dous máis á dereita indica dúas unidades e o que lle
segue ten un valor dez veces maior, 2 decenas ou 20 unidades, e o terceiro representa un valor de
200, dando como resultado o número 200+20+2=222.
En xeral, o peso ou valor de cada posición obtense de dereita a esquerda comezando por 1 e
multiplicando pola base para obter o seguinte peso.
Con esta estratexia de repetir símbolos pero en distintas posicións podemos contar ou expresar
calquera cantidade.
Cada número expresado en decimal pódese descompoñer en sumas de potencias da base tal e como
se representa no seguinte exemplo.
Exemplo:
4052 = 4x103+0x102+5x101+2x100
Se tratásemos con cantidades fraccionarias, a partir da coma decimal os valores das posicións serían
0.1, 0.01, 0.001... ,é dicir, as potencias de dez sucesivas pero con expoñente negativo 10-1, 10-2, 10-
3
...
Exemplo:
4052.34 = 4x103+0x102+5x101+2x100+3x10-1+4x10-2
Sistema binario
Dado que os circuítos da electrónica dixital só poden tomar dous posibles valores, o sistema de
numeración que mellor se lle adapta é aquel que emprega só dous símbolos (0 e 1), chamado
sistema binario. A forma de contar ou expresar cantidades grandes segue a mesma estratexia que
no sistema decimal, tendo en conta que só emprega eses dous símbolos, e o momento de repetir
símbolo comezaría co que en decimal é o número dous. Na seguinte táboa móstrase a comparativa
entre as dúas formas de contar, en binario e en decimal.
0 1 2 3 4 5 6 7 8 9 10 11 ... Decimal
0 1 10 11 100 101 110 111 1000 1001 1010 1011 ... Binario
Cada posición dun número binario coñecese como bit, que é unha contracción da palabras en inglés
binary digit (díxito binario). O número binario 1011 é un número de 4 bits. Ao bit mais á dereita
dun número, o de menor valor, acostuma a chamárselle LSB, e ao que está máis á esquerda, MSB,
siglas en inglés de bit menos e máis significativo respectivamente.
Igual que no sistema decimal, cada bit ten un valor asociado á posición: o primeiro 20, o segundo
21, o terceiro 22... de forma que no número binario 111, o un máis á dereita indica unha unidade, o
segundo dúas unidades, o terceiro catro unidades, etc.No seguinte exemplo móstrase a expresión
dun número binario en función de sumas de potencias da base:
1101= 1x23+1x22+0x21+1x20
Reparando nos dous últimos exemplos pódese deducir que con 1 bit podemos representar dous
números, o 0 e o 1, con dous bits catro números (00, 01, 10, e 11), con tres bits 8 (000, 001, 010,
011, 100, 101, 110, 111) e, en xeral , con n bits poderemos contar ata 2n-1, ou ben, contando tamén
o cero, 2n números distintos.
Sistema hexadecimal.
O sistema hexadecimal é un sistema de base 16. Os símbolos empregados son todos os do sistema
decimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 e ademais as letras A, B, C, D, E, F que terían os valores en
decimal 10,11,12, 13, 14 e 15 respectivamente. Neste sistema comézase contando de 0 ata F, os
seguinte números serían 10, 11,...., 19, 1A, 1B, 1C, 1D, 1E, 1F, e seguen 20, 21,..., 29, 2A, 2B, etc.
O sistema hexadecimal tamén é posicional e o valor asociado a cada símbolo depende da súa
posición no número e é proporcional ás diferentes potencias da base do sistema.
Exemplo:
30C=3x162+0x161+Cx160=3x256+0x16+12x1=780
Este sistema emprégase fundamentalmente como unha forma sinxela de manexar as, en xeral,
grandes secuencias de uns e ceros do sistema binario, facilitando a tarefa do programador.
Sistema octal.
Sistema de numeración posicional de base 8 que emprega como símbolos: 0, 1, 2, 3, 4, 5, 6, 7 . A
facilidade de conversión entre os sistemas octal e binario fai que o sistema octal sexa atractivo
como un medio de representar números binarios de moitos bits.
Conversión entre sistemas decimal, binario,
octal e hexadecimal
Cando se traballa con números expresados en distintas bases, para evitar a confusión, engádeselle a
cada cifra un subíndice que indica a base do sistema ó que pertence.
Exemplo:
101(10 é o número cento un en decimal, en cambio 101(2 é o número cinco expresado en binario.
No caso de termos cantidades fraccionarias, o proceso é idéntico tomando a partir do lado dereito da
coma decimal potencias sucesivas da base pero con expoñentes negativos:
Exemplo:
1011.011(2=1x23+0x22+1x21+1x20+0x2-1+1x2-2+1x2-3=
1x8+0x4+1x2+1x1+0x0.5+1x0.25+1x0.125= 11.375(10
Exercicios.
1.- Calcula o valor decimal do seguinte número binario: 101011,11(2. (Sol.: 43,75(10).
2.- Calcula o valor decimal do seguinte número octal: 547(8. (Sol.: 359(10).
8.- Converter o número hexadecimal 1B3,2(16 a binario e octal. (Sol.: 0001 1011 0011, 0010(2,
663,1(8).
BCD, GRAY e JHONSON
No sistema binario cada díxito recibe o nome de bit. A relación biunívoca existente entre a
información e a palabra pola que será representada denomínase código. Como o sistema numérico
co que traballamos habitualmente é o sistema decimal, a maioría dos códigos que veremos serán os
baseados no BCD(Decimal Codificado en Binario). Estes códigos empregan catro bits por cada
díxito decimal, xa que 23<10<24. Así, o código BCD natural é aquel que representa cada díxito
decimal pola súa expresión binaria.
Dentro dos códigos podemos atopar un grupo caracterizado porque o seu valor pode obterse a través
dun polinomio cos díxitos de dito código a través dun produto escalar.
Valor=w3c3+w2c2+w1c1+w0c0
onde o vector (w3,w2,w1,w0) é coñecido como vector peso e o vector (c3,c2,c1,c0) está formado
polos bits dunha combinación binaria determinada. Os códigos que mostran esta característica
denomínanse códigos pesados ou con peso. O caso do código BCD natural atópase dentro do
grupo dos códigos con peso posto que cada bit atópase multiplicado por un peso (8,4,2,1). Outros
exemplos de códigos con peso son os que teñen como peso (8,4,-2,-1) e o BCD Aiken (2,4,2,1). Un
exemplo de código non pesado é o código BCD exceso a 3. Este código obtense como o código
binario do resultado da suma do díxito en cuestión co número tres. Estes códigos móstranse na
seguinte táboa.
Táboa 1: Exemplos de códigos binarios
BCD natural BCD Aiken BCD exceso a 3
Díxito Decimal
8421 8 4 -2 -1 2421
0 0000 0000 0000 0011
1 0001 0111 0001 0100
2 0010 0110 0010 0101
3 0011 0101 0011 0110
4 0100 0100 0100 0111
5 0101 1011 1011 1000
6 0110 1010 1100 1001
7 0111 1001 1101 1010
8 1000 1000 1110 1011
9 1001 1111 1111 1100
Excepto o código BCD natural, os outros tres teñen a propiedade de ser autocomplementarios, é
dicir, se complementamos (cambiamos 1's por 0's e ó revés) a palabra bit a bit, obteremos a palabra
correspondente ó díxito 9 menos o número decimal equivalente a combinación binaria de partida.
Exercicio: Codifica o número decimal 245,32 empregando os distintos códigos BCD.
BCD natural: 245,32(10=0010 0100 0101, 0011 0010(2
Código Johnson
Decimal Jonhson
0 0000
1 0001
2 0011
3 0111
4 1111
5 1110
6 1100
7 1000
Dado que la máxima capacidad de codificación binaria con n bits se eleva a 2n, el
código Johnson no se utiliza en sistemas digitales complejos, debido a la gran
cantidad de bits que exige para realizar codificaciones extensas.
Su presencia se reserva a contadores muy simplificados integrados, por ejemplo,
en el diseño de unidades de control para sistemas digitales.