SUMADOR - RESTADOR BINARIO UN PROYECTO …BINARIO.pdf · técnicas digitales y sirve como base para...

25
SUMADOR - RESTADOR BINARIO UN PROYECTO DIDACTICO Realizar operaciones aritméticas es una de las funciones primordiales de las calculadoras electrónicas, por lo que en esta ocasión observamos la forma de utilizar un mismo circuito digital para obtener el resultado de una suma o de una resta. El proyecto que presentamos a continuación puede ser utilizado para "aprender" a manejar las técnicas digitales y sirve como base para otros proyectos más elaborados. INTRODUCCION Las sumas no implican mayor problema, ya que los sistemas electrónicos operan de la misma manera que un ser humano, por ejemplo para sumar los números (decimales) de un solo dígito, 8 y 4 se tendrá como resultado un 2 y como acarreo un 1, para formar el resultado cuyo valor es el 12. Para la operación de las restas, todos estamos acostumbrados desde los estudios primarios a utilizar el concepto de “préstamo”, el cual en los sistemas electrónicos es muy difícil llevarlo a cabo, por lo que la operación aritmética de la resta se implanta mediante un método algo más complicado para el razonamiento y consiste en realizar un complemento al sustraendo para posteriormente utilizar la operación de la suma como estamos habitualmente a realizarla, y de esta manera obtener el resultado de la resta (si Ud. no sabe cómo se resta en sistema binario, le aconsejamos leer bibliografía apropiada). EL COMPLEMENTO DE UN NUMERO El complemento es empleado básicamente en los microprocesadores de las computadoras con el fin de simplificar tanto las operaciones de sustracción, así como también en ciertas manipulaciones lógicas que de los valores numéricos tienen que hacerse, debe tomarse en cuenta que para cada sistema de base “n” existe tan solo dos tipos de complemento: Complemento de n Complemento de (n-1) De lo dicho anteriormente y si consideramos la base numérica que empleamos de manera natural (base 10), se tienen los complementos de 10 y 9 para números decimales, mientras que para una base binaria (base 2) los complementos serán de 2 y 1. Partiendo del conocimiento que para realizar operaciones en los sistemas digitales los números deben estar expresados en base binaria, es oportuno mencionar que se emplea el complemento a 2 por ser éste el que menos complicaciones presenta. Para realizar un complemento a 2 de un número en base binaria, matemáticamente se expresa como: donde: a = Número de bits del valor binario. n = Base binaria (2). b = Número binario a complementar Así por ejemplo para encontrar el complemento a 2 de 1010(2), se tiene lo siguiente: Luego el complemento a dos será:

Transcript of SUMADOR - RESTADOR BINARIO UN PROYECTO …BINARIO.pdf · técnicas digitales y sirve como base para...

SUMADOR - RESTADOR BINARIO UN PROYECTO DIDACTICO

Realizar operaciones aritméticas es una de las funciones primordiales de las calculadoras electrónicas, por lo que en esta ocasión observamos la forma de utilizar un mismo circuito digital para obtener el resultado de una suma o de una resta. El proyecto que presentamos a continuación puede ser utilizado para "aprender" a manejar las técnicas digitales y sirve como base para otros proyectos más elaborados.

INTRODUCCION

Las sumas no implican mayor problema, ya que los sistemas electrónicos operan de la misma manera que un ser humano, por ejemplo para sumar los números (decimales) de un solo dígito, 8 y 4 se tendrá como resultado un 2 y como acarreo un 1, para formar el resultado cuyo valor es el 12.

Para la operación de las restas, todos estamos acostumbrados desde los estudios primarios a utilizar el concepto de “préstamo”, el cual en los sistemas electrónicos es muy difícil llevarlo a cabo, por lo que la operación aritmética de la resta se implanta mediante un método algo más complicado para el razonamiento y consiste en realizar un complemento al sustraendo para posteriormente utilizar la operación de la suma como estamos habitualmente a realizarla, y de esta manera obtener el resultado de la resta (si Ud. no sabe cómo se resta en sistema binario, le aconsejamos leer bibliografía apropiada).

EL COMPLEMENTO DE UN NUMERO

El complemento es empleado básicamente en los microprocesadores de las computadoras con el fin de simplificar tanto las operaciones de sustracción, así como también en ciertas manipulaciones lógicas que de los valores numéricos tienen que hacerse, debe tomarse en cuenta que para cada sistema de base “n” existe tan solo dos tipos de complemento:

Complemento de n Complemento de (n-1)

De lo dicho anteriormente y si consideramos la base numérica que empleamos de manera natural (base 10), se tienen los complementos de 10 y 9 para números decimales, mientras que para una base binaria (base 2) los complementos serán de 2 y 1.

Partiendo del conocimiento que para realizar operaciones en los sistemas digitales los números deben estar expresados en base binaria, es oportuno mencionar que se emplea el complemento a 2 por ser éste el que menos complicaciones presenta.

Para realizar un complemento a 2 de un número en base binaria, matemáticamente se expresa como:

donde: a = Número de bits del valor binario. n = Base binaria (2). b = Número binario a complementar

Así por ejemplo para encontrar el complemento a 2 de 1010(2), se tiene lo siguiente:

Luego el complemento a dos será:

Otro método más sencillo para complementar a 2 un número binario es reemplazar los 1 por los 0 y los 0 por los 1, y por último sumar un 1, por ejemplo, para el mismo número binario anterior el complemento a dos será:

A este valor numérico se le suma un 1 quedando el complemento a 2 como sigue:

Una vez que sabemos qué es un complemento y cómo se realiza, pasemos a revisar cuál es el algoritmo a seguirse para una sustracción con complemento a 2 de números binarios. Dada una resta como la siguiente:

1) Debemos obtener el complemento a 2 del Sustraendo. 2) Hay que sumar el Minuendo con el valor del Sustraendo complementado a 2.

3) Se debe verificar el resultado del paso (2) y de acuerdo con el acarreo final tome una de las siguientes decisiones. 3.1 - Si se presenta un acarreo final, descártelo y tome el valor de la operación como el residuo de la resta. 3.2 - Si no se presenta un acarreo final, tome el complemento a 2 del valor resultante de la operación como el residuo de la resta y agrégele un signo negativo.

Por ejemplo, restar los valores:

Para saber cómo se hace, vea la tabla 1: Siguiendo el algoritmo anterior, se tiene un acarreo al final, por lo que el resultado de la resta es:

EL CIRCUITO PROPUESTO

En la figura 1 se puede observar el circuito propuesto para nuestro proyecto.

Para realizar las operaciones aritméticas de suma y resta de dos números de 4 bits por medio de un circuito electrónico, se utiliza un dipswitch para fijar los valores correspondientes de los operandos 1 y 2 (operando 1 = minuendo bits A1-A4, operando 2 = sustraendo B1-B4). Los 4 bits correspondientes al operando 1 se hacen llegar de manera directa a un sumador completo (74LS83) cuya identificación es IC3, mientras que los 4 bits que conforman al operando 2 primero se hacen pasar por una compuerta OR-exclusiva (IC1, 74LS86) cada uno de ellos, la función que tiene el circuito IC1 es la de cambiar los 0 por los 1 y los 1 por los 0 en caso de que se tenga que hacer una resta, o dejar pasar el valor del operando 2 tal cual en caso de una suma.

El medio para escoger la operación aritmética ya sea de la suma o la resta de los operandos 1 y 2, es por la interacción del bit de control, el cual tiene que fijarse en 0 lógico para que se realice una suma entre los operandos 1 y 2, por otra parte si el bit de control se ubica en la posición de 1 lógico, el ejercicio resultante entre los operandos 1 y 2 será la de una resta.

Una vez que las compuertas del circuito IC1 entregan un resultado, éste se hace llegar a otro sumador completo (IC2, 74LS83), en donde si el bit de control se encuentra en 1 lógico se complementa a 2 el operando 2 (sustraendo), ya que se le sumará un 1 al valor que entreguen las compuertas OR-exclusiva (recuerde que previamente estas compuertas cambiaron los 1 por los 0 y los 0 por los 1), y por último el resultado del complemento a 2 se hace llegar al sumador completo del circuito IC3 para que se realice la suma del operando 1 (minuendo) y operando 2 complementado a 2 (sustraendo).

Por otra parte si el bit de control se encuentra en 0 lógico (operación de suma) el valor de los bits del operando 2 no sufren alteración alguna por lo que a los bits entregados por las compuertas OR-exclusiva se le sumará un valor de 0 en el circuito IC2, pasando a realizar una suma normal de los operandos 1 y 2 por medio del circuito IC3.

En la figura 2 se muestra la placa de circuito impreso, la cual posee varios puentes en la parte superior, con el objeto no emplear una placa doble faz o tener que realizar un diseño más complejo.

Por último, en la figura 3 se puede apreciar una vista del prototipo montado sobre un experimentador digital.

Las computadoras digitales realizan una variedad de tareas de procesamiento de información. Entre las funciones

básicas encontradas están las diversas funciones aritméticas. Sin duda, la operación aritmética más básica es la adición

de dos dígitos binarios. Esta adición simple consta de cuatro operaciones elementales posibles, a saber, 0 + 0 = 0, 0 +

1 = 1, 1 + 0 = 1 y 1 + 1 = 10.

Las primeras tres operaciones producen una suma cuya longitud es un dígito, pero cuando tanto los bits sumando como

adendo son iguales a 1, la suma binaria consta de dos dígitos. El bit significativo más alto de este resultado se

denomina acarreo. Un circuito combinacional que lleva a cabo la adición de dos bits se denomina medio sumador. Uno

que lleva a cabo la adición de tres bits (dos bits significativos y una cuenta que se lleva a previo) es un sumador completo.

La suma binaria para números de un bit es la siguiente :

Pero cuando tengo números binarios formados por más de un bit, al operar aparece el acarreo ( carry )

CIRCUITO SEMISUMADOR

De la explicación verbal de medio sumador, se encuentra que este circuito necesita dos entradas binarias y dos salidas

binarias. Las variables de entrada designan los bits sumando y adendo; las variables de salida producen la suma y el

acarreo. Es necesario especificar dos variables de salida debido a que el resultado puede constar de dos dígitos binarios. Se asignan de forma arbitraria los símbolos x y y y a las dos entradas y S (de suma) y C (para el acarreo) a

las salidas.

Ahora que se han establecido el número y nombre de las variables de entrada y salida, ya puede formularse una tabla

de verdad para identificar en forma exacta la función del medio sumador. Esta tabla de verdad se muestra a

continuación:

x y | c s

0 0 | 0 0

0 1 | 0 1 1 0 | 0 1

1 1 | 1 0

El acarreo de salida es 0 a menos que ambas entradas sean 1. La salida S representa el bit menos significativo de la

suma.

La función booleana simplificada de las dos salidas puede obtenerse de manera directa mediante la tabla de verdad. Las

expresiones simplificadas en suma de productos son:

S = s´y + xy´

C = xy

El diagrama lógico para esta implementación se muestra en la Figura 4-2(a), lo mismo que otras cuatro

implementaciones para un medio sumador. Todos logran el mismo resultado en lo que respecta al comportamiento de

entrada-salida. Ilustran la flexibilidad de la que dispone el diseñador cuando implementa incluso una función lógica

combinacional simple como ésta.

Como se mencionó antes, la Fig.4-2(a) es la implementación del medio sumador en suma de productos. En la Figura 4-

2(b) se muestra la implementación en productos de sumas:

S = (x + y) (x´ + y´)

C= xy

Para obtener la implementación de la Fig. 4-2(c), se observa que S es la OR excluyente de x y y. El complemento de S

es la equivalencia de x y y :

S’ = xy + x’y’

Pero C = xy y, por lo tanto, tenemos:

S = (C + x’y’)’

Se utiliza la implementación de producto de sumas C derivada como sigue:

C = xy = (x’ + y’)’

Si realizamos el semisumador para dos números A y B de un bit nos queda:

Realizando su implementación mediante puertas queda:

Se le denomina normalmente HA de half-adder.

El circuito topológico del semisumador es el siguiente:

CIRCUITO SUMADOR COMPLETO

Un sumador completo es un circuito combinacional que formar la suma aritmética de tres bits de entrada. Consta de

tres entradas y dos salidas. Dos de las variables de entrada, que se indican por x y y, representan los dos bits

significativo que van a añadirse. La tercera entrada, z, representa la cuenta que se lleva de la posición previa

significativa más baja. Son necesarias dos salidas debido a que la suma aritmética de tres dígitos binarios varía en valor

de 0 a 3 y el 2 o 3 binarios requieren 2 dígito. Las dos salidas se denotan por los símbolos S para la suma y C para la cuenta que se lleva. La variable S da el valor del bit menos significativo de la suma. La variable binaria C da la cuenta

que se lleva de salida. La tabla de verdad del sumador completo es como sigue:

x y z | c s

0 0 0 | 0 0

0 0 1 | 0 1

0 1 0 | 0 1

0 1 1 | 1 0

1 0 0 | 0 1 1 0 1 | 1 0

1 1 0 | 1 0

1 1 1 | 1 1

La relación lógica de entrada-salida del circuito sumador completo puede expresarse en dos funciones booleanas, una

para cada variable de salida. Cada función booleana de salida requiere un mapa único para su simplificación. Cada

mapa debe de tener ocho cuadros, ya que cada salida es una función de tres variables de entrada. Los 1 en los cuadros

de los mapas de S y C se determinan en forma directa mediante la tabla de verdad. Los cuadros con 1 para la salida S

no se combinan en cuadros adyacentes para dar una expresión simplificada en suma de productos.

La salida C puede simplificarse a una expresión de 6 literales. El diagrama lógico para el sumador completo

implementando en suma de productos se muestra en la Figura 4-4. En esta implementación se usan las expresiones

booleanas siguientes:

S = x’y’z + x’yz’ + xy’z’ + xyz

C = xy + xz + yz

Si implementamos mediante puertas:

Diseño de un sumador completo a partir de dos semisumadores.

El sumador completo

Un sumador completo como el que se muestra en la figura es un circuito digital capaz de realizar la suma aritmética de

dos dígitos binarios además de un posible acarreo de entrada, este último es particularmente útil cuando se diseña en forma modular un sumador de dos números de ´n´ bits.

Las señales marcadas con a, b Cin son las entradas del sumador y corresponden a los dos dígitos a sumar y el posible

acarreo de entrada respectivamente.

Las señales marcadas con Co y S sol las salidas del sumador y forman el resultado de la suma y el acarreo de salida (si

es que lo hay) respectivamente.

Así si en las entradas colocamos tres señales x, y , z con valores respectivos de 101 el sumador realizara la suma de

1+0+1 en forma binaria dando como resultado el número 10 binario del tal forma que las señales asignadas a las funciones C y S tomarían los valores de 1 y 0 respectivamente.

Circuito del sumador total

Un sumador completo es un circuito combinacional que formar la suma aritmética de tres bits de entrada. Consta de

tres entradas y dos salidas. Dos de las variables de entrada que se indican por x y, y se presentan los dos bits

significativos que van a añadirse. La tercera entrada z, representa la cuenta de la posición previa significativa mas baja.

Son necesarias dos salidas debido a que la suma aritmética de tres dígitos binarios varia en valor desde 0 a 3 y el 2 o 3

binarios requieren dos dígitos. Las dos salidas se denotan por símbolos S para suma y C para la cuenta que se lleva. La variable binaria S da el valor del bit menos significativo de la suma La variable binaria C da la cuenta que se lleva de

salida.

Sistema binario

De Wikipedia, la enciclopedia libre

Saltar a navegación, búsqueda

Para otros usos de este término, véase Sistema binario (astronomía).

El sistema binario, en matemáticas e informática, es un sistema de numeración en el

que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Es el

que se utiliza en las computadoras, debido a que trabajan internamente con dos niveles

de voltaje, por lo que su sistema de numeración natural es el sistema binario (encendido

1, apagado 0).

Contenido

1 Historia del sistema binario

o 1.1 Aplicaciones

2 Representación

3 Conversión entre binario y decimal

o 3.1 Decimal a binario

o 3.2 Decimal (con decimales) a binario

o 3.3 Binario a decimal

o 3.4 Binario a decimal (con parte fraccionaria binaria)

4 Operaciones con números binarios

o 4.1 Suma de números binarios

o 4.2 Resta de números binarios

o 4.3 Producto de números binarios

o 4.4 División de números binarios

5 Conversión entre sistema binario y octal

o 5.1 Sistema Binario a octal

o 5.2 Octal a binario

6 Conversión entre binario y hexadecimal

o 6.1 Binario a hexadecimal

o 6.2 Hexadecimal a binario

7 Tabla de conversión entre decimal, binario, hexadecimal, octal, BCD, Exceso

3 y Código Gray o Reflejado

8 Factorialización

9 Véase también

10 Enlaces externos

Historia del sistema binario

El antiguo matemático indio Pingala presentó la

primera descripción que se conoce de un sistema

de numeración binario en el siglo III a. C.

Una serie completa de 8 trigramas y 64

hexagramas (análogos a 3 bit) y números binarios

de 6 bit eran conocidos en la antigua China en el

texto clásico del I Ching. Series similares de

combinaciones binarias también han sido

utilizadas en sistemas de adivinación tradicionales

africanos, como el Ifá, así como en la geomancia

medieval occidental.

Un arreglo binario ordenado de los hexagramas

del I Ching, representando la secuencia decimal

de 0 a 63, y un método para generar el mismo fue desarrollado por el erudito y filósofo

Chino Shao Yong en el siglo XI.

En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían

reducirse a secuencias de dígitos binarios, las cuales podrían ser codificadas como

variaciones apenas visibles en la fuente de cualquier texto arbitrario.

El sistema binario moderno fue documentado en su totalidad por Leibniz, en el siglo

XVII, en su artículo "Explication de l'Arithmétique Binaire". En él se mencionan los

símbolos binarios usados por matemáticos chinos. Leibniz utilizó el 0 y el 1, al igual

que el sistema de numeración binario actual.

En 1854, el matemático británico George Boole publicó un artículo que marcó un antes

y un después, detallando un sistema de lógica que terminaría denominándose Álgebra

de Boole. Dicho sistema desempeñaría un papel fundamental en el desarrollo del

sistema binario actual, particularmente en el desarrollo de circuitos electrónicos.

Aplicaciones

En 1937, Claude Shannon realizó su tesis doctoral en el MIT, en la cual implementaba

el Álgebra de Boole y aritmética binaria utilizando relés y conmutadores por primera

vez en la historia. Titulada Un Análisis Simbólico de Circuitos Conmutadores y Relés,

la tesis de Shannon básicamente fundó el diseño práctico de circuitos digitales.

En noviembre de 1937, George Stibitz, trabajando por aquel entonces en los

Laboratorios Bell, construyó una computadora basada en relés —a la cual apodó

"Modelo K" (porque la construyó en una cocina, en inglés "kitchen")— que utilizaba la

suma binaria para realizar los cálculos. Los Laboratorios Bell autorizaron un completo

programa de investigación a finales de 1938, con Stibitz al mando. El 8 de enero de

1940 terminaron el diseño de una "Calculadora de Números Complejos", la cual era

capaz de realizar cálculos con números complejos. En una demostración en la

conferencia de la Sociedad Americana de Matemáticas, el 11 de septiembre de 1940,

Stibitz logró enviar comandos de manera remota a la Calculadora de Números

Complejos a través de la línea telefónica mediante un teletipo. Fue la primera máquina

computadora utilizada de manera remota a través de la línea de teléfono. Algunos

participantes de la conferencia que presenciaron la demostración fueron John Von

Neumann, John Mauchly y Norbert Wiener, quien escribió acerca de dicho suceso en

sus diferentes tipos de memorias en la cual alcanzó diferentes logros.

Representación

Un número binario puede ser representado por cualquier secuencia de bits (dígitos

binarios), que suelen representar cualquier mecanismo capaz de estar en dos estados

mutuamente excluyentes. Las siguientes secuencias de símbolos podrían ser

interpretadas como el mismo valor numérico binario:

1 0 1 0 0 1 1 0 1 0

| - | - - | | - | -

x o x o o x x o x o

y n y n n y y n y n

El valor numérico representado en cada caso depende del valor asignado a cada

símbolo. En una computadora, los valores numéricos pueden representar dos voltajes

diferentes; también pueden indicar polaridades magnéticas sobre un disco magnético.

Un "positivo", "sí", o "sobre el estado" no es necesariamente el equivalente al valor

numérico de uno; esto depende de la nomenclatura usada.

De acuerdo con la representación más habitual, que es usando números árabes, los

números binarios comúnmente son escritos usando los símbolos 0 y 1. Los números

binarios se escriben a menudo con subíndices, prefijos o sufijos para indicar su base.

Las notaciones siguientes son equivalentes:

100101 binario (declaración explícita de formato)

100101b (un sufijo que indica formato binario)

100101B (un sufijo que indica formato binario)

bin 100101 (un prefijo que indica formato binario)

1001012 (un subíndice que indica base 2 (binaria) notación)

%100101 (un prefijo que indica formato binario)

0b100101 (un prefijo que indica formato binario, común en lenguajes de

programación)

Conversión entre binario y decimal

Decimal a binario

Se divide el número del sistema decimal entre 2, cuyo resultado entero se vuelve a

dividir entre 2, y así sucesivamente. Ordenados los restos, del último al primero, éste

será el número binario que buscamos.

Ejemplo

Transformar el número decimal 131 en binario. El método es muy simple: 131 dividido entre 2 da 65 y el resto es igual a 1

65 dividido entre 2 da 32 y el resto es igual a 1

32 dividido entre 2 da 16 y el resto es igual a 0

16 dividido entre 2 da 8 y el resto es igual a 0

8 dividido entre 2 da 4 y el resto es igual a 0

4 dividido entre 2 da 2 y el resto es igual a 0

2 dividido entre 2 da 1 y el resto es igual a 0

1 dividido entre 2 da 0 y el resto es igual a 1

-> Ordenamos los restos, del último al primero: 10000011

En sistema binario, 131 se escribe 10000011

Ejemplo

Transformar el número decimal 100 en binario.

Otra forma de conversión consiste en un método parecido a la factorización en números

primos. Es relativamente fácil dividir cualquier número entre 2. Este método consiste

también en divisiones sucesivas. Dependiendo de si el número es par o impar,

colocaremos un cero o un uno en la columna de la derecha. Si es impar, le restaremos

uno y seguiremos dividiendo entre dos, hasta llegar a 1. Después sólo nos queda tomar

el último resultado de la columna izquierda (que siempre será 1) y todos los de la

columna de la derecha y ordenar los dígitos de abajo a arriba.

Ejemplo 100|0

50|0

25|1 --> 1, 25-1=24 y seguimos dividiendo por 2

12|0

6|0

3|1

1|1 --> (100)10 = (1100100)2

Existe un último método denominado de distribución. Consiste en distribuir los unos

necesarios entre las potencias sucesivas de 2 de modo que su suma resulte ser el número

decimal a convertir. Sea por ejemplo el número 151, para el que se necesitarán las 8

primeras potencias de 2, ya que la siguiente, 28=256, es superior al número a convertir.

Se comienza poniendo un 1 en 128, por lo que aún faltarán 23, 151-128 = 23, para

llegar al 151. Este valor se conseguirá distribuyendo unos entre las potencias cuya suma

dé el resultado buscado y poniendo ceros en el resto. En el ejemplo resultan ser las

potencias 4, 2, 1 y 0, esto es, 16, 4, 2 y 1, respectivamente.

Ejemplo 20= 1|1

21= 2|1

22= 4|1

23= 8|0

24= 16|1

25= 32|0

26= 64|0

27= 128|1 128 + 16 + 4 + 2 + 1 = (151)10 = (10010111)2

Decimal (con decimales) a binario

Para transformar un número del sistema decimal al sistema binario:

1. Se transforma la parte entera a binario. (Si la parte entera es 0 en binario será 0,

si la parte entera es 1 en binario será 1, si la parte entera es 5 en binario será 101

y así sucesivamente).

2. Se sigue con la parte fraccionaria, multiplicando cada número por 2. Si el

resultado obtenido es mayor o igual a 1 se anota como un uno (1) binario. Si es

menor que 1 se anota como un 0 binario. (Por ejemplo, al multiplicar 0.6 por 2

obtenemos como resultado 1.2 lo cual indica que nuestro resultado es un uno (1)

en binario, solo se toma la parte entera del resultado).

3. Después de realizar cada multiplicación, se colocan los números obtenidos en el

orden de su obtención.

4. Algunos números se transforman en dígitos periódicos, por ejemplo: el 0.1.

Ejemplo 0,3125 (decimal) => 0,0101 (binario).

Proceso:

0,3125 · 2 = 0,625 => 0

0,625 · 2 = 1,25 => 1

0,25 · 2 = 0,5 => 0

0,5 · 2 = 1 => 1

En orden: 0101 -> 0,0101 (binario)

Ejemplo 0,1 (decimal) => 0,0 0011 0011 ... (binario).

Proceso:

0,1 · 2 = 0,2 ==> 0

0,2 · 2 = 0,4 ==> 0

0,4 · 2 = 0,8 ==> 0

0,8 · 2 = 1,6 ==> 1

0,6 · 2 = 1,2 ==> 1

0,2 · 2 = 0,4 ==> 0 <--se repiten las cuatro cifras, periódicamente

0,4 · 2 = 0,8 ==> 0 <-

0,8 · 2 = 1,6 ==> 1 <-

0,6 · 2 = 1,2 ==> 1 <- ...

En orden: 0 0011 0011 ... => 0,0 0011 0011 ... (binario periódico)

Ejemplo 5.5 = 5,5

5,5 (decimal) => 101,1 (binario).

Proceso:

5 => 101

0,5 · 2 = 1 => 1

En orden: 1 (un sólo dígito fraccionario) -> 101,1 (binario)

Ejemplo 6,83 (decimal) => 110,110101000111 (binario).

Proceso:

6 => 110

0,83 · 2 = 1,66 => 1

0,66 · 2 = 1,32 => 1

0,32 · 2 = 0,64 => 0

0,64 · 2 = 1,28 => 1

0,28 · 2 = 0,56 => 0

0,56 · 2 = 1,12 => 1

0,12 · 2 = 0,24 => 0

0,24 · 2 = 0,48 => 0

0,48 · 2 = 0,96 => 0

0,96 · 2 = 1,92 => 1

0,92 · 2 = 1,84 => 1

0,84 · 2 = 1,68 => 1

En orden: 110101000111 (binario)

Parte entera: 110 (binario)

Encadenando parte entera y fraccionaria: 110,110101000111 (binario)

Binario a decimal

Para realizar la conversión de binario a decimal, realice lo siguiente:

1. Inicie por el lado derecho del número en binario, cada cifra multiplíquela por 2

elevado a la potencia consecutiva (comenzando por la potencia 0, 20).

2. Después de realizar cada una de las multiplicaciones, sume todas y el número

resultante será el equivalente al sistema decimal.

Ejemplos:

(Los números de arriba indican la potencia a la que hay que elevar 2)

También se puede optar por utilizar los valores que presenta cada posición del número

binario a ser transformado, comenzando de derecha a izquierda, y sumando los valores

de las posiciones que tienen un 1.

Ejemplo

El número binario 1010010 corresponde en decimal al 82. Se puede representar de la

siguiente manera:

entonces se suman los números 64, 16 y 2:

Para cambiar de binario con decimales a decimal se hace exactamente igual, salvo que

la posición cero (en la que el dos es elevado a la cero) es la que está a la izquierda de la

coma y se cuenta hacia la derecha a partir de -1:

Binario a decimal (con parte fraccionaria binaria)

1. Inicie por el lado izquierdo (la primera cifra a la derecha de la coma), cada número

multiplíquelo por 2 elevado a la potencia consecutiva a la inversa (comenzando por la

potencia -1, 2-1

).

2.Después de realizar cada una de las multiplicaciones, sume todas y el número

resultante será el equivalente al sistema decimal.

Ejemplos

0,101001 (binario) = 0,640625(decimal). Proceso:

1 · 2 elevado a -1 = 0,5

0 · 2 elevado a -2 = 0

1 · 2 elevado a -3 = 0,125

0 · 2 elevado a -4 = 0

0 · 2 elevado a -5 = 0

1 · 2 elevado a -6 = 0,015625

La suma es: 0,640625

0.110111 (binario) = 0,859375(decimal). Proceso:

1 · 2 elevado a -1 = 0,5

1 · 2 elevado a -2 = 0,25

0 · 2 elevado a -3 = 0

1 · 2 elevado a -4 = 0,0625

1 · 2 elevado a -5 = 0,03125

1 · 2 elevado a -6 = 0,015625

La suma es: 0,859375

Operaciones con números binarios

Suma de números binarios

La tabla de sumar para números binarios es la siguiente:

+ 0 1

0 0 1

1 1 10

Las posibles combinaciones al sumar dos bits son:

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 10

Note que al sumar 1 + 1 es 102, es decir, llevamos 1 a la siguiente posición de la

izquierda (acarreo). Esto es equivalente, en el sistema decimal a sumar 9 + 1, que da 10:

cero en la posición que estamos sumando y un 1 de acarreo a la siguiente posición.

Ejemplo 1

10011000

+ 00010101

———————————

10101101

Se puede convertir la operación binaria en una operación decimal, resolver la decimal, y

después transformar el resultado en un (número) binario. Operamos como en el sistema

decimal: comenzamos a sumar desde la derecha, en nuestro ejemplo, 1 + 1 = 10,

entonces escribimos 0 en la fila del resultado y llevamos 1 (este "1" se llama acarreo o

arrastre). A continuación se suma el acarreo a la siguiente columna: 1 + 0 + 0 = 1, y

seguimos hasta terminar todas la columnas (exactamente como en decimal).

Resta de números binarios

El algoritmo de la resta en sistema binario es el mismo que en el sistema decimal. Pero

conviene repasar la operación de restar en decimal para comprender la operación

binaria, que es más sencilla. Los términos que intervienen en la resta se llaman

minuendo, sustraendo y diferencia.

Las restas básicas 0 - 0, 1 - 0 y 1 - 1 son evidentes:

0 - 0 = 0

1 - 0 = 1

1 - 1 = 0

0 - 1 = 1 (se transforma en 10 - 1 = 1) (en sistema decimal equivale a 2 - 1 = 1)

La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada

de la posición siguiente: 0 - 1 = 1 y me llevo 1, lo que equivale a decir en el sistema

decimal, 2 - 1 = 1.

Ejemplos 10001 11011001

-01010 -10101011

—————— —————————

00111 00101110

En sistema decimal sería: 17 - 10 = 7 y 217 - 171 = 46.

Para simplificar las restas y reducir la posibilidad de cometer errores hay varios

métodos:

Dividir los números largos en grupos. En el siguiente ejemplo, vemos cómo se

divide una resta larga en tres restas cortas:

100110011101 1001 1001 1101

-010101110010 -0101 -0111 -0010

————————————— = ————— ————— —————

010000101011 0100 0010 1011

Utilizando el complemento a dos (C2). La resta de dos números binarios puede

obtenerse sumando al minuendo el «complemento a dos» del sustraendo.

Ejemplo

La siguiente resta, 91 - 46 = 45, en binario es:

1011011 1011011

-0101110 el C2 de 0101110 es 1010010 +1010010

———————— ————————

0101101 10101101

En el resultado nos sobra un bit, que se desborda por la izquierda. Pero, como el número

resultante no puede ser más largo que el minuendo, el bit sobrante se desprecia.

Un último ejemplo: vamos a restar 219 - 23 = 196, directamente y utilizando el

complemento a dos:

11011011 11011011

-00010111 el C2 de 00010111 es 11101001 +11101001

————————— —————————

11000100 111000100

Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto:

11000100 en binario, 196 en decimal.

Utilizando el complemento a uno. La resta de dos números binarios puede

obtenerse sumando al minuendo el complemento a uno del sustraendo y a su vez

sumarle el bit que se desborda.

Producto de números binarios

La tabla de multiplicar para números binarios es la siguiente:

· 0 1

0 0 0

1 0 1

El algoritmo del producto en binario es igual que en números decimales; aunque se

lleva a cabo con más sencillez, ya que el 0 multiplicado por cualquier número da 0, y el

1 es el elemento neutro del producto.

Por ejemplo, multipliquemos 10110 por 1001:

10110

1001

—————————

10110

00000

00000

10110

—————————

11000110

En sistemas electrónicos, donde suelen usarse números mayores, se utiliza el método

llamado algoritmo de Booth.

11101111

111011

__________

11101111

11101111

00000000

11101111

11101111

11101111

______________

11011100010101

División de números binarios

La división en binario es similar a la decimal; la única diferencia es que a la hora de

hacer las restas, dentro de la división, éstas deben ser realizadas en binario.

Ejemplo

Dividir 100010010 (274) entre 1101 (13):

100010010 |1101

——————

-0000 010101

———————

10001

-1101

———————

01000

- 0000

———————

10000

- 1101

———————

00111

- 0000

———————

01110

- 1101

———————

00001

Conversión entre sistema binario y octal

Sistema Binario a octal

Para realizar la conversión de binario a octal, realice lo siguiente:

1) Agrupe la cantidad binaria en grupos de 3 en 3 iniciando por el lado derecho. Si al

terminar de agrupar no completa 3 dígitos, entonces agregue ceros a la izquierda.

2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:

Número en binario 000 001 010 011 100 101 110 111

Número en octal 0 1 2 3 4 5 6 7

3) La cantidad correspondiente en octal se agrupa de izquierda a derecha.

Ejemplos

110111 (binario) = 67 (octal). Proceso:

111 = 7

110 = 6

Agrupe de izquierda a derecha: 67

11001111 (binario) = 317 (octal). Proceso:

111 = 7

001 = 1

11 entonces agregue un cero, con lo que se obtiene 011 = 3

Agrupe de izquierda a derecha: 317

1000011 (binario) = 103 (octal). Proceso:

011 = 3

000 = 0

1 entonces agregue 001 = 1

Agrupe de izquierda a derecha: 103

Octal a binario

Cada dígito octal se convierte en su binario equivalente de 3 bits y se juntan en el

mismo orden.

Ejemplo

247 (octal) = 010100111 (binario). El 2 en binario es 10, pero en binario de 3

bits es Oc(2) = B(010); el Oc(4) = B(100) y el Oc(7) = (111), luego el número

en binario será 010100111.

Conversión entre binario y hexadecimal

Binario a hexadecimal

Para realizar la conversión de binario a hexadecimal, realice lo siguiente:

1) Agrupe la cantidad binaria en grupos de 4 en 4 iniciando por el lado derecho. Si al

terminar de agrupar no completa 4 dígitos, entonces agregue ceros a la izquierda.

2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:

Número

en

binario

000

0

000

1

001

0

001

1

010

0

010

1

011

0

011

1

100

0

100

1

101

0

101

1

110

0

110

1

111

0

111

1

Número

en

hexadeci

mal

0 1 2 3 4 5 6 7 8 9 A B C D E F

3) La cantidad correspondiente en hexadecimal se agrupa de derecha a izquierda.

Ejemplos

110111010 (binario) = 1BA (hexadecimal). Proceso:

1010 = A

1011 = B

1 entonces agregue 0001 = 1

Agrupe de derecha a izquierda: 1BA

11011110101 (binario) = 6F5 (hexadecimal). Proceso:

0101 = 5

1111 = F

110 entonces agregue 0110 = 6

Agrupe de derecha a izquierda: 6F5

Hexadecimal a binario

Note que para pasar de Hexadecimal a binario, se remplaza el numero Hexadecimal por

el equivalente de 4 bits, de forma similar a como se hace de octal a binario.

Tabla de conversión entre decimal, binario,

hexadecimal, octal, BCD, Exceso 3 y Código Gray o

Reflejado

Decimal Binario Hexadecimal Octal BCD Exceso 3 Gray o Reflejado

0 0000 0 0 0000 0011 0000

1 0001 1 1 0001 0100 0001

2 0010 2 2 0010 0101 0011

3 0011 3 3 0011 0110 0010

4 0100 4 4 0100 0111 0110

5 0101 5 5 0101 1000 0111

6 0110 6 6 0110 1001 0101

7 0111 7 7 0111 1010 0100

8 1000 8 10 1000 1011 1100

9 1001 9 11 1001 1100 1101

10 1010 A 12 0001 0000

1111

11 1011 B 13 0001 0001

1110

12 1100 C 14 0001 0010

1010

13 1101 D 15 0001 0011

1011

14 1110 E 16 0001 0100

1001

15 1111 F 17 0001 0101

1000

Factorialización

Tabla de conversión entre binario, factor binario, hexadecimal, octal y decimal

Binario Factor binario Hexadecimal Octal Decimal

0000 0000 00 0 0 0

0000 0001 20 1 1 1

0000 0010 21 2 2 2

0000 0100 22 4 4 4

0000 1000 23 8 10 8

0001 0000 24 10 20 16

0010 0000 25 20 40 32

0100 0000 26 40 100 64

1000 0000 27 80 200 128

[editar] Véase también

Sistema octal

Sistema duodecimal

Sistema hexadecimal

Nibble

[editar] Enlaces externos

Convertidor Binario/Hex/Decimal

Traductor Binario, Hexadecimal, Base64

Breve VIDEO-TUTORIAL sobre el sistema Binario y Decimal

Codificación binaria

Artículo Tabla de contenidos

Introducción al sistema binario

A finales de la década de 1930, Claude Shannon mostró que utilizando interruptores que

se encontraban cerrados para "verdadero" y abiertos para "falso", se podían llevar a

cabo operaciones lógicas asignando el número 1 a "verdadero" y el número 0 a "falso".

Este sistema de codificación de información se denominó binario. Es la forma de

codificación que permite el funcionamiento de los ordenadores. El sistema binario

utiliza dos condiciones (representadas por los dígitos 0 y 1) para codificar información.

Desde el año 2000 AC, los seres humanos han contado utilizando 10 dígitos (0, 1, 2, 3,

4, 5, 6, 7, 8, 9). Esto se denomina "base decimal" (o base 10). Sin embargo, las

civilizaciones antiguas, e incluso algunas aplicaciones actuales, utilizaron y continúan

utilizando otras bases numéricas:

Sexagesimal (60), utilizada por los Sumerios. Esta base se utiliza actualmente en

nuestro sistema de cronometraje, para los minutos y los segundos,

Vigesimal (20), utilizada por los mayas,

Duodecimal (12), utilizada en el sistema monetario del Reino Unido e Irlanda

hasta 1971: una "libra" valía veinte "chelines", y un "chelín" valía doce

"peniques". El actual sistema de cronometraje también se basa en doce horas

(algo que se traduce en el uso que se le da en Norteamérica),

Quinario (5), utilizado por los mayas,

Binario (2), utilizado por la tecnología digital.

El bit (dígito binario)

El término bit (abreviado con la minúscula b) significa dígito binario, y corresponde al

número 0 o 1 en la numeración binaria. Es la unidad de información más pequeña que

puede manipular una máquina digital. Es posible representar esta información binaria:

con una señal eléctrica o magnética que, más allá 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: tanto con 1 como 0. Con

dos bits, se pueden obtener 4 condiciones diferentes (2x2):

0 0

0 1

1 0

1 1

Con 3 bits, se pueden obtener ocho condiciones diferentes (2x2x2):

Valor binario de 3 bits Valor decimal

000 0

001 1

010 2

011 3

100 4

101 5

110 6

111 7

Con un grupo n de bits, es posible representar 2 n valores.

Valores de los bits

En un número binario, el valor de un bit depende de su posición, empezando desde la

derecha. Como las decenas, centenas y millares en un número decimal, el valor de un bit

se incrementa por dos a medida que va desde la derecha hacia la izquierda, como se

muestra en el siguiente cuadro:

Numero binario 1 1 1 1 1 1 1 1

Valor 27 = 128 2

6 = 64 2

5 = 32 2

4 = 16 2

3 = 8 2

2 = 4 2

1 = 2 2

0 = 1

Conversión

Para convertir una cadena binaria en un número decimal se debe multiplicar cada bit por

su valor, y luego sumar los productos. De esta forma, la cadena binaria 0101 en número

decimal sería:

23x0 + 22x1 + 21x0 + 20x1

= 8x0 + 4x1 + 2x0 + 1x1

= 5

El byte

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 carácter, 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 más legibles los millares cuando se trabaja en base decimal. Por

ejemplo, 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.

27 =128 2

6 =64 2

5 =32 2

4 =16 2

3 =8 2

2 =4 2

1 =2 2

0 =1

0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1

Kilobytes y megabytes

Durante mucho tiempo, la informática fue una ciencia inusual ya que utilizaba

diferentes valores para sus unidades, diferentes a las del sistema métrico (también

llamado "sistema Internacional"). Los usuarios de ordenadores aprendían con rapidez

que 1 kilobyte estaba compuesto por 1024 bytes. Por este motivo, en diciembre de 1998,

la Comisión Electrotécnica Internacional intervino en el tema.

(http://physics.nist.gov/cuu/Units/binary.html). La lista siguiente incluye las unidades

estandarizadas de la IEC:

Un kilobyte (kB) = 1000 bytes

Un megabyte (MB) = 1000 kB = 1.000.000 bytes

Un gigabyte (GB) = 1000 MB = 1.000.000.000 bytes

Un terabyte (TB) = 1000 GB = 1.000.000.000.000 bytes

¡Advertencia! Algunos programas (e incluso algunos sistemas operativos) aún

utilizan la notación anterior a 1998, que mostraremos a continuación:

Un kilobyte (kB) = 210

bytes = 1024 bytes

Un megabyte (MB) = 220

bytes = 1024 kB = 1.048.576 bytes

Un gigabyte (GB) = 230

bytes = 1024 MB = 1.073.741.824 bytes

Un terabyte (TB) = 240

bytes = 1024 GB = 1.099.511.627.776 bytes

El IEC también definió el kilo binario (kibi), al mega binario (mebi), al giga binario

(gibi) y al tera binario (tebi).

Se definieron de la siguiente manera:

Un kibibyte (kiB) vale 210

= 1024 bytes

Un mebibyte (MiB) vale 220

= 1.048.576 bytes

Un gibibyte (GiB) vale 230

= 1.073.741.824 bytes

Un tebibyte (TiB) vale 240

= 1.099.511.627.776 bytes

En algunos idiomas, como el francés y el finlandés, la palabra byte no empieza con la

letra "b", pero la mayor parte de la comunidad internacional prefiere el término en

inglés "byte". Esto da las siguientes notaciones para kilobyte, megabyte, gigabyte, y

terabyte:

kB, MB, GB, TB

Observe el uso de la mayúscula B para distinguir Byte de bit.

Esta es una captura de pantalla del programa HTTrack, el navegador de Internet fuera de

línea más popular, que muestra cómo su utiliza esta notación:

Operaciones binarias

En el sistema binario se pueden realizar operaciones simples tales como adición,

sustracción y multiplicación.

Adición en el sistema binario

La adición en el sistema binario sigue las mismas reglas que en el sistema decimal:

Se comienza agregando los bits que tienen menor valor (aquellos que se encuentran en

la derecha) y se lleva el valor al siguiente lugar cuando la suma de dos bits en la misma

posición es más grande que el valor mayor de la unidad (en sistema binario: 1). Luego,

este valor se transporta al bit de la siguiente posición.

Por ejemplo:

0 1 1 0 1

+ 0 1 1 1 0

- - - - - -

1 1 0 1 1

Multiplicación en el sistema binario

La tabla de multiplicación en el sistema binario es simple:

0x0=0

0x1=0

1x0=0

1x1=1

La multiplicación se realiza calculando un producto parcial para cada múltiplo (sólo los

bits que no contiene 0 darán un resultado que no contenga ceros). Cuando el bit del

múltiplo es cero, el producto parcial es nulo; cuando es equivalente a uno, el producto

parcial se forma con el multiplicando, alternado un número X de veces, donde X es

igual al peso del múltiplo del bit.

Por ejemplo:

0 1 0 1 multiplicando

x 0 0 1 0 múltiplo

- - - - - -

0 0 0 0

0 1 0 1

0 0 0 0

- - - - - -

0 1 0 1 0