SISTEMAS DE NUMERACIÓN
Centro CFP/ES
SISTEMAS DE NUMERACIÓN
La necesidad de disponer de un sistema de numeración para tener una concienciación clara de la cantidad de cosas que tenemos, poder transmitir esa información y recordarla, es tan antigua como la existencia del hombre.
Uno de los más importantes, por su repercusión en la mundo occidental es el sistema de numeración romano, basado en siete símbolos distintos representativos de las cantidades más utilizadas, implantando unas normas para cantidades intermedias en función de la localización del número en la cifra.
La investigación en materia de sistemas de numeración ha llevado a desarrollar una rama de las Matemáticas, además de múltiples teorías y definiciones. Entre ellas se encuentra el concepto de base de numeración.
La “base de numeración” es el número de signos diferentes que tiene un sistema de numeración. Podemos resumir los más importantes en la siguiente tabla:
Sistema de numeración Número de signos
Decimal 10 (del “0” al “9”) Binario 2 (el “0” y el “1”) Octal 8 (del “0” al “7”) Hexadecimal 16 (del “0” al “9” y A, B, C, D, E, F)
SISTEMAS DE NUMERACIÓN
Para distinguir las series de números escritos en uno u otro sistema se recurre a la técnica de colocación de un número en formato subíndice detrás de cada uno, aunque cuando se trabaja por defecto en un sistema, se suele obviar. Ese número se corresponde con la base de numeración. Así:
El más familiar es el sistema de numeración base 10.
259810 Decimal
36578 Octal
3A9F16 Hexadecimal
SISTEMAS DE NUMERACIÓN
Al tener solamente diez dígitos (0,1,2,3,4,5,6,7,8 y 9), tendríamos verdaderos problemas a la hora de representar un número más elevado de 9. La solución radica en emplear más de una cifra, completando conjuntos de dígitos. Esto lleva a desarrollar el concepto más importante de los sistemas de numeración: dependiendo de la posición que ocupa el dígito, éste tendrá un determinado valor:
Por ejemplo, supongamos que tenemos el número en base diez: 8345,23110 103 102 101 100 10-1 10-2 10-3 8 3 4 5, 2 3 1 8 millares 8·103 8000 3 centenas 3·102 300 4 decenas 4·101 40 5 unidades 5·100 5 2 décimas 2·10-1 0,2 3 centésimas 3·10-2 0,03 1 milésima 1·10-3 0,001 TOTAL... 8345,231
SISTEMA DE NUMERACIÓN
BINARIO
En el sistema binario de numeración existen solamente dos símbolos distintos: el “0” y el “1”.
La ventaja del sistema de base dos o binario consiste precisamente en el hecho de tener solamente dos dígitos, fácilmente aplicables a estados naturales: abierto/cerrado, lleno/vacío, encendido/apagado. En el campo de la electrónica se hacen coincidir los estados lógicos con: diodos que conducen o no conducen, transistores cortados o saturados, estableciendo la relación entre sistema de numeración y su aplicación práctica.
BINARIO
Por ejemplo, una máquina puede decirle, refiriéndose al número de coches que han pasado por un lavadero automático:
10010102
10010102= 1·26+ 0·25+ 0·24+ 1·23+ 0·22+ 1·21+ 0·20= 7410
Se puede decir que los siguientes números representan la misma cantidad de cosas: 10010102=7410 26 25 24 23 22 21 20 1 0 0 1 0 1 0 1·26 1·64 64 0·25 0·32 0 0·24 0·16 0 1·23 1·8 8 0·22 0·4 0 1·21 1·2 2 0·20 0·1 0 TOTAL... 7410
SISTEMA DE NUMERACIÓN
BINARIO
Aprendamos a pasar un número de base diez a su correspondiente en base dos. El procedimiento consiste en realizar sucesivas divisiones del número en cuestión por dos, hasta conseguir un valor 0 o 1 de resto. Vamos a verlo con un ejemplo; pasemos el número 17110 a base dos. Dividamos pues ese valor por dos sucesivamente:
Podemos comprobar el resultado, haciendo el cambio al revés (de binario a decimal):
101010112= 1·27+0·26+ 1·25+ 0·24+ 1·23+ 0·22+ 1·21+
1·20= 128 + 32 + 8 + 2 + 1 = 171 10
SISTEMA DE NUMERACIÓN OCTAL
Este mismo procedimiento se emplea para pasar números en base diez a cualquier base. Por ejemplo, si deseamos representar ese mismo número decimal a base 8 (octal), sólo variará el número de base que constituye el dividendo:
Comprobando el resultado:
2538= 2·82+ 5·81+ 3·80= 2·64 + 5·8 + 3·1 = 128 + 40 + 3 = 17110
SISTEMA DE NUMERACIÓN
BINARIO
Para evitar confusiones en el manejo de datos por parte de los circuitos electrónicos, se usa otra nomenclatura para determinar el peso de los bits dentro de una palabra. Así, se define como bit más significativo
(MSB) al correspondiente a la izquierda de la palabra, y bit menos significativo(LSB) al de la derecha:
Nos ayudaremos de una tabla donde aparezcan los valores de los pesos de los bits, además de su correspondiente en decimal:
Binario Decimal 22=4 21=2 20=1 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7
BINARIO
Este es el secreto de la capacidad de almacenamiento de las máquinas procesadoras de información y ordenadores, llamada memoria. Para recordar dónde deja un dato, da una determinada dirección numérica. Cuanto más posibilidades de dar números distintos tenga, más capacidad de almacenamiento estará disponible. Así, si le dicen que un ordenador tiene 64K de memoria, usted debe saber que son 64.000 posiciones, celdas o lugares distintos, determinadas por un sistema que puede contar hasta 64.000, disponiendo de palabras de 16 bits:
2n= 216= 65.536
SISTEMA DE NUMERACIÓN
HEXADECIMAL
Con cuatro bits en binario podemos representar más números, hasta el 1510 (11112). Para sistemas que
necesiten más combinaciones se ha ideado elsistema de numeración hexadecimal, o lo que es lo mismo, en base 16.
Necesitamos pues definir 16 símbolos que representen los 16 pesos o valores para combinar. Se emplean los diez primeros dígitos del sistema decimal, añadiéndole seis letras del abecedario: A, B, C, D, y F.
Podemos establecer la siguiente relación entre los tres sistemas de numeración más importantes en electrónica digital:
Hexadecimal Decimal Binario 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001 A 10 1010 B 11 1011 C 12 1100 D 13 1101 E 14 1110 F 15 1111
SISTEMA DE NUMERACIÓN
HEXADECIMAL
Tratemos de pasar el número hexadecimal 8FA316a decimal. Para ello
recordemos el concepto de peso relacionado con la base:
Teniendo en cuenta que F=1510y A=1010:
8FA316= 8·163+ F·162+ A·161+ 3·160= 8·163+ 1510·162+ 1010·161+ 3·160= 36.77110
Para realizar el paso en sentido contrario utilizaremos el ya familiar procedimiento de la división sucesiva, sustituyendo los valores: (ejemplo con 20318)
163 162 161 160
8 F A 3
SISTEMA DE NUMERACIÓN
HEXADECIMAL
Para convertir números en hexadecimal a binario, se procede adjudicando a cada dígito en base 16 su correspondiente en binario. Por ejemplo, con el 4F5E16:
Siendo la representación del número binario la colocación ordenada, de izquierda a derecha, de todos los bits:
4F5E16= 01001111010111102
Si deseamos pasar el número 110010101110101112 a hexadecimal.
Formamos los grupos:
4 F 5 E
¿QUÉ SON LOS CÓDIGOS?
Todo lo visto anteriormente ha llevado al desarrollo de los códigos, grupos de bits en binario que corresponden a una determinada información, permitiendo la comunicación de los circuitos digitales entre sí.
Los códigos adjudican una determinada combinación digital a un valor determinado. Puede crearse un código digital y aplicarlo a nueve estados diferentes de una máquina, por ejemplo, de la siguiente manera:
Estado máquina Código (4 bits, por ejemplo)
conectada 1111 desconectada 0000 esperando 1001 error 0110 temperatura alta 1000 velocidad alta 0111 falta alimentación 1010
¿QUÉ SON LOS CÓDIGOS?
Se llaman codificadores a los sistemas que traducen el sistema de numeración base, a un código especial o particular. Decodificadores son los que hacen el paso contrario.
Existen una serie de códigos que por su importancia y utilización repetida se han considerado como universales, normalizándose para evitar posibles errores.
Código BCD
El código de numeración binario tiene el inconveniente de necesitar gran cantidad de signos para representar números altos, haciendo difícil su paso a decimal. El código BCD se inventó para salvar esta situación, pues como su propio nombre indica, (BCD significa Decimal Codificado en Binario), representa los número decimales del 0 al 9 en binario. Como solamente necesita 4 bits para hacerlo, el código BCD se constituye con palabras de 4 bits.
CÓDIGO BCD
Suponga que una máquina ha contado el número de tornillos fabricados en una hora. Esa cantidad asciende a diez mil setecientos cuarenta y tres (1074310) unidades y quiere tener constancia de ella en un
marcador situado en un puesto de control lejos de la máquina.
Esa cantidad, expresada en binario, necesita catorce bits de longitud de palabra para expresarse, (1074310 = 101001111101112) por lo que
tendrá que instalar un sistema con un bus de datos de catorce líneas. Estas aplicaciones se hacen imposibles de desarrollar sin la utilización de los códigos. En este caso, el BCD convertirá cada uno de los dígitos en decimal (sólo utilizará cuatro líneas), y el sistema los enviará siguiendo un orden establecido. Así, podemos representar el número 1074310en código BCD:
Decimal 1 0 7 4 3
El código Gray está diseñado para los equipos de conteo, evitando errores que pueden aparecer cuando se pasa de un valor a otro, al crearse estados de incertidumbre si cambian muchos bits. El procedimiento a seguir para convertir un número binario cualquiera a código Gray contempla los siguientes pasos:
- Se toma el número binario de los bits que sean. - Se desplaza hacia la derecha, imaginado la existencia de un hueco vacío a la derecha del mismo.
- Eliminamos el número desplazado y colocamos un cero a la izquierda de la palabra.
- Se comparan los bit por columnas. Si son iguales se pone un cero, si no, un uno.
- El número binario obtenido es el correspondiente en código Gray al binario original.
Decimal Gray 0 0000 1 0001 2 0011 3 0010 4 0110 5 0111 6 0101 7 0100 8 1100 9 1101 10 1111 11 1110 12 1010 13 1011 14 1001
CÓDIGO ASCII
El código ASCII (en inglés American Standard Code for Interchange), es uno de los más famosos códigos binarios. Incluye en sus codificaciones, además de los dígitos del sistema decimal, todos los caracteres del alfabeto, además de otros especiales, denominándose por ello código alfanumérico. Esta posibilidad le hace muy útil para comunicar ordenador y teclado.
Como se utiliza una longitud de palabra o byte de 7 bits, podemos codificar 128 elementos distintos.
Carácter ASCII Carácter ASCII
A 100 0001 0 011 0000 B 100 0010 1 011 0001 C 100 0011 2 011 0010 D 100 0100 3 011 0011 E 100 0101 4 011 0100 F 100 0110 5 011 1000 G 100 0111 $ 010 0100 H 100 1000 & 010 0110 I 100 1001 # 010 0011
CÓDIGO CORRECCIÓN DE
ERRORES: PARIDAD
Un sistema muy utilizado para la correcciónde errores es el llamado de paridad. Considerando que las palabras binarias están formadas por cuatro u ocho bits, o múltiplos de éste, se trata de añadir un nuevo bit que preceda a la palabra, a modo de indicador, estableciéndose dos criterios o modalidades de transmisión:
-Con paridad par: Añadir un 0 o un 1 para que el número de unos de la palabra sea par.
-Con paridad impar: Añadir un 0 o un 1 para que el número de unos de la palabra sea impar. Número decimal Bit de paridad par Número binario Envío 5 0 0101 10101 6 0 0110 00110 7 1 0111 10111 8 1 1000 11000 9 0 1001 01001 Número decimal Bit de paridad impar Número binario Envío 5 1 0101 10101 6 1 0110 10110 7 0 0111 00111 8 0 1000 01000 9 1 1001 11001 SISTEMAS DE NUMERACIÓN