SISTEMA BINARIO
Es un sistema de numeración que utiliza
internamente hardware de las computadoras actuales.
Se basa en la representación de cantidades utilizando los dígitos
1 y 0, por tanto su base es dos (numero de dígitos de sistemas). Cada
digito de un número representado en este
sistema se representa en BIT (contracción de binary
digit).
Los ordenadores trabajan internamente con dos niveles de voltaje, por lo que su
sistema de numeración natural es el sistema binario (encendido '1',
apagado '0').
Es la unidad de información mas pequeña
que puede manipular una maquina digital.
Es posible representar esta información binaria:
* con una señal eléctrica o magnética que, mas
alla de un cierto nivel, representa el 1,
* a través de la aspereza o profundidad de los hoyos de una superficie,
* utilizando circuitos eléctricos, componentes eléctricos que
poseen dos condiciones estables (una que representa al 1 y la otra al 0).
Por lo tanto, el bit se puede establecer con uno de dos
estados: 1 o 0.
Con dos bits, se pueden obtener 4 condiciones diferentes (2x2):
El byte (abreviado con la mayúscula B) es una unidad de
información compuesta por 8 bits.
Se puede utilizar para almacenar, entre otras cosas, un
caracter, como
por ejemplo una letra o un número.
Agrupar números en cúmulos de 8 facilita su lectura, así como
agrupar números en grupos de tres hace mas legibles los millares
cuando se trabaja en base decimal.
Porejemplo, el número '1.256.245' se lee
mejor que '1256245'.
Por lo general, una unidad de información de 16
bits se denomina palabra.
Una unidad de información de 32 bits se
denomina palabra doble (o también, dword).
Para un byte, el
menor número posible es 0 (representado por ocho ceros: 00000000), y el
mayor es 255 (representado por ocho unos: 11111111), que permite la
creación de 256 valores diferentes.
SISTEMA OCTAL
Es un sistema de numeración cuya base
es 8, es decir, utiliza 8 símbolos para la representación de
cantidades.
Estos sistemas es de los llamados posicionales y la posición de sus
cifras se mide con la relación a la coma decimal que en caso de no
aparecer se supone implícitamente a la derecha del numero.
Estos símbolos son
0 1 2 3 4 5 6 7
Los números octales pueden construirse a partir de números
binarios agrupando cada tres dígitos consecutivos de estos
últimos (de derecha a izquierda) y obteniendo su valor decimal.
Por ejemplo, el número binario para 74 (en decimal) es 1001010 (en
binario), lo agruparíamos como 1 001 010. De
modo que el número decimal 74 en octal es 112.
El sistema de numeración octal es también muy usado en la
computación por tener una base que es potencia exacta de 2 o de la
numeración binaria.
Esta característica hace que la conversión a
binario o viceversa sea bastante simple.
El sistema octal usa
8 dígitos (0 ) y tienen el mismo
valor que en el sistema denumeración decimal.
Como el sistema de numeración octal usa la notación
posicional entonces para el número 3452.32q tenemos:
El subindice q indica número octal, se usa la
letra q para evitar confusión entre la letra o y el
número 0.
SISTEMA DECIMAL
Es uno de los sistema denominado posiciónales, utilizando un conjunto de símbolos cuyo significado depende
fundamentalmente de su posición relativa al símbolo, denominado
coma (,) decimal que en caso de ausencia se supone colocada a la derecha.
Utiliza como base el 10, que corresponde al
número del
símbolo que comprende para la representación de cantidades; estos
símbolos son
0 1 2 3 4 5 6 7 8 9
Este conjunto de símbolos se denomina números arabes. Es
el sistema de numeración usado habitualmente en todo el mundo (excepto
ciertas culturas) y en todas las areas que requieren de un sistema de numeración. Sin embargo contextos, como por ejemplo en la
informatica, donde se utilizan sistemas de numeración de
propósito mas específico como el binario o el hexadecimal.
El sistema decimal es un sistema de numeración
posicional, por lo que el valor del dígito
depende de su posición dentro del
número.
SISTEMA HEXADECIMAL
Es un sistema posicional de numeración en el que su base es 16, por
tanto, utilizara 16 símbolos para la representación de
cantidades. Estos símbolos son
0 1 2 3 4 5 6 7 8 9 A B C D E F
Su uso actual esta muy vinculado a la informatica.
Es en laactualidad uno de los mas usados en el proceso
de datos.
Esto se debe a que un dígito hexadecimal
representa cuatro dígitos binarios (4 bits = 1 nibble); por tanto, dos
dígitos hexadecimales representan ocho dígitos binarios (8 bits =
1 byte, (que como
es sabido es la unidad basica de almacenamiento de información).
Dado que nuestro sistema usual de numeración es de base decimal, y por
ello sólo disponemos de diez dígitos, se adoptó la
convención de usar las seis primeras letras del alfabeto latino para
suplir los dígitos que nos faltan: A = 10, B = 11, C = 12, D = 13, E =
14 y F = 15.
Como en cualquier sistema de numeración
posicional, el valor numérico de cada dígito es alterado
dependiendo de su posición en la cadena de dígitos, quedando
multiplicado por una cierta potencia de la base del sistema, que en
este caso es 16.
Por ejemplo
3E0,A16 = 3×162 + E×161 + 0×160 + A×16-1 = 3×256
+ 14×16 + 0×1 + 10×0,0625 = 992,625.
Un gran problema con el sistema binario es la
verbosidad.
Para representar el valor 20210 se requieren
ocho dígitos binarios, la versión decimal sólo requiere de
tres dígitos y por lo tanto los números se representan en forma
mucho mas compacta con respecto al sistema numérico binario.
Desafortunadamente las computadoras trabajan en sistema
binario y aunque es posible hacer la conversión entre decimal y binario,
ya vimos que no es precisamente una tarea cómoda.
El sistema de numeración hexadecimal, o sea de base 16,resuelve
este problema (es común abreviar hexadecimal como hex aunque hex significa base seis y no
base dieciseis).
El sistema hexadecimal es compacto y nos proporciona un
mecanismo sencillo de conversión hacia el formato binario, debido a
ésto, la mayoría del
equipo de cómputo actual utiliza el sistema numérico hexadecimal.
Como la base del sistema hexadecimal es 16, cada
dígito a la izquierda del
punto hexadecimal representa tantas veces un valor sucesivo potencia de 16.
La conversión a decimal, es analoga al paso de binario a decimal,
utilizando el teorema fundamental de numeración.
Veamos un ejemplo:
Debemos recordar que:
A=10 B=11 C=12 D=13 E=14 F=15
El paso contrario, de decimal a hexadecimal, también es analogo a
la conversión binaria, pero teniendo en cuenta que la base es 16 y, por
tanto, deberemos dividir por este número.
1957 / 16 = 122 Resto: 5
122 / 16 = 7 Resto: 10 (A
7 / 16 = 0 Resto: 7
1957 = 7A5
Sin embargo, en oposición a estas conversiones, el paso de binario a hexadecimal y de
hexadecimal a binario es directo.
En el primer caso, agruparemos los bits de 4 en 4 desde la
derecha y pasaremos cada grupo a su equivalente a hexadecimal.
En el segundo caso, pasaremos cada dígito hexadecimal
a su equivalente en binario.
De Binario a Hexadecimal:
11110100101 -- 111 1010 0101 -- 7 A 5 -- 7A5
De Hexadecimal a Binario:
7A5 -- 7 A 5 -- 0111 1010 0101 -- 11110100101
Como se puede
observar, elpaso es inmediato, lo que supone que en muchas ocasiones y, para
mayor claridad, (y brevedad, fíjate en que en hexadecimal necesitamos
menos dígitos) utilicemos este sistema de
numeración.
TRABAJANDO EN SISTEMA BINARIO
Forma Complemento a 1
El complemento a 1 de un numero binario se obtiene
cambiando cada 0 por 1 y viceversa.
En otras palabras, se cambia cada bit del numero por su
complemento.
Forma Complemento a 2
El complemento a 2 de un número binario se
obtiene tomando el complemento a 1, y sumandole 1 al bit menos
significativo.
A continuación se ilustra este proceso para el numero 1001 = 9
Obsérvese que para calcular el complemento a 2 de un número
binario sólo basta con revisar todos los dígitos desde el menos
significativo hacia el mas significativo y mientras se consiga un
cero, dejarlo igual, al conseguir elprimer número 1, dejarlo igual para
luego cambiar el resto de ellos hasta llegar al mas
significativo.
Así podemos decir rapidamente que el
complemento a 2 de 10100000 es 01100000, que el complemento a 2
de111 es 001, etc.
¿Para qué sirve?
Su utilidad principal se encuentra en las operaciones matematicas con
números binarios.
En particular, en la resta de números binarios se facilita enormemente
utilizando el complemento a dos: la resta de dos números binarios puede
obtenerse sumando al minuendo el complemento a dos del sustraendo.
Una forma de hallar el opuesto de un número binario positivo
encomplemento a dos es comenzar por la derecha (el dígito menos
significativo), copiando el número original (de derecha a izquierda)
hasta encontrar el primer 1, luego de haber copiado el 1, se niegan (complementan)
los dígitos restantes (es decir, copia un 0 si aparece un 1, o un 1 si
aparece un 0).
Por ejemplo, el complemento a dos de «0011 11010» es «1100
00110»-
Resta de números binarios:
Primer ejemplo:
Hagamos la siguiente resta, 91 – 46 = 45, en binario: 1011011
– 0101110 = 0101101
La resta puede hacerse como una suma, utilizando el complemento a dos del
sustraendo:
1011011 + 1010010 = 0101101
En el resultado de la suma nos sobra un bit, que se desborda por la
izquierda.
Pero, como
el número resultante no puede ser mas largo que el minuendo, el
bit sobrante se desprecia.
Segundo ejemplo:
Hagamos esta otra resta, 219 – 23 = 196, utilizando el complemento a
dos:
219 = 11011011,
23= 00010111
Complemento a 2 del Nro 23 = 11101001
El resultado de la resta sera: 11011011 + 11101001 =
111000100
Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado
correcto: 11000100 = 196
Multiplicación binaria
La multiplicación en binario es mas facil que en cualquier
otro sistema de numeración.
Como los factores de la multiplicación sólo pueden ser
CEROS o UNOS, el producto sólo puede ser CERO o UNO.
En otras palabras, las tablas de multiplicar del cero y del uno son muy faciles deaprender:
En una computadora, sin embargo, la operación de multiplicar se realiza
mediante sumas repetidas.
Eso crea algunos problemas en la programación porque cada suma de dos
UNOS origina un arrastre, que se resuelven contando el
número de UNOS y de arrastres en cada columna.
Si el número de UNOS es par, la suma es un CERO
y si es impar, un UNO.
Luego, para determinar los arrastres a la posición
superior, se cuentan las parejas de UNOS.
Veamos, por ejemplo, una multiplicación
Para comprobar que el resultado es correcto,
convertimos los factores y el resultado al sistema decimal:
3349 * 13 = 43537
División binaria
Igual que en el producto, la división es muy facil de realizar,
porque no son posibles en el cociente otras cifras que UNOS y CEROS.
Consideremos el siguiente ejemplo, 6 = 7, en
binario:
Se intenta dividir el dividendo por el divisor, empezando por tomar en ambos el
mismo número de cifras (100 entre 110, en el ejemplo).
Si no puede dividirse, se intenta la división tomando un
dígito mas (1001 entre 100).
Si la división es posible, entonces, el divisor sólo podra
estar contenido una vez en el dividendo, es decir, la primera cifra del
cociente es un UNO.
En ese caso, el resultado de multiplicar el divisor
por 1 es el propio divisor.
Restamos las cifras del
dividendo del
divisor y bajamos la cifra siguiente.
El procedimiento de división continúa del mismo modo que
en el sistema decimal.