0% encontró este documento útil (0 votos)
348 vistas36 páginas

Función Mantisa y Punto Flotante

Cargado por

Roger Vicente
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
348 vistas36 páginas

Función Mantisa y Punto Flotante

Cargado por

Roger Vicente
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 36

Función mantisa

La función mantisa consiste en la parte decimal de un número. Su fórmula es:

mant(x) = x - [x]

Es decir, al número se le resta su parte entera, así la mantisa de los siguientes números serán:

mant(30,008) = 0,008
mant(25,56578) = 0,56578
mant(-1,66) = 0,34 porque (-1,66) - (-2) = 0.34

Es una función periódica de periodo 1, ya que f(x) = f(x + 1) = f(x + 2) = f(x + 3)... = f(x + n)

Su Dominio es [-∞; +∞] y su Imagen es [0 ; 0,999999...]

El método común y corriente utilizado por las computadoras para representar números reales es la
de notación de punto flotante existen muchas variedades de notación de punto flotante y cada una
de ellas tiene sus características individuales el concepto clave es de que un número real es
representado por un numero denominado mantisa multiplicado por una base elevado a una potencia
entera denominada exponente la base generalmente es fija la mantisa y el exponente varían de
acuerdo a la representación de diferentes números reales. En la notación de punto flotante un
numero real está formado por una hilera de 32 bits formada por una mantisa de 24 bits seguida de
un exponente de 8 bits la base se fija como 10, tanto la mantisa como el exponente son enteros
binarios de complemento dobles

Mantisa
De Wikipedia, la enciclopedia libre

Saltar a navegación, búsqueda

La mantisa (también llamada significando) es la parte de una representación en punto flotante que
contiene los dígitos significativos del número a representar, el orden de magnitud de los cuales está
determinado por el exponente.

Dependiendo de la interpretación del exponente, la mantisa puede tener varios formatos:

 Normalización: La mantisa es un número real cuya parte entera sólo consta de un dígito — que
será la primera cifra significativa del valor a representar. Por ejemplo, el número en sistema
decimal 123,457 puede ser representado en punto flotante normalizado como 1,23457 con
exponente +2.
 Número entero: La mantisa es un número entero. En este formato, el número 123,457 podría ser
representado como 123457 con exponente -3.

Bit oculto [editar]

Cuando se usan mantisas normalizadas en el sistema binario, la primera cifra (bit) significativa ha
de ser necesariamente 1. Este primer bit no se suele expresar en el campo de la mantisa y está
implícito — de ahí que se llame el bit oculto. De esta forma se ahorra un bit en la representación
que puede ser usado para indicar un bit significativo adicional.

Dependiendo del contexto, el bit oculto puede ser o no ser tenido en cuenta cuando se describe la
longitud de la mantisa en un formato de coma flotante. Por ejemplo, el formato de doble precisión
de IEEE 754 es descrito tanto como que tiene 53 bits de precisión (contando el bit oculto) como que
tiene 52 bits (sin contar el bit oculto).

Coma flotante
De Wikipedia, la enciclopedia libre

Saltar a navegación, búsqueda

Coma flotante o punto flotante es un método de representación de números reales que se puede
adaptar al orden de magnitud del valor a representar, usualmente trasladando la coma decimal —
mediante un exponente— hacia la posición de la primera cifra significativa del valor.

De esta forma, con un número dado de dígitos representativos se obtiene mayor precisión que con la
coma fija, debido a que el valor de estos dígitos es siempre significativo sea el que sea el orden de
magnitud del número a representar. Debido a esta adaptación, permite representar un rango mucho
mayor de números (determinado por los valores límite que puede tomar el exponente).

Su uso es especialmente interesante en la informática pues permite trabajar con números decimales
en rangos amplios, aunque también se usa el truncado de decimales.

Representación [editar]

Representación binaria de números en coma flotante de doble precisión.

Una representación en coma flotante se compone de tres números (campos) que siguen el siguiente
patrón:

r = m.be

r: valor real del número a representar

m: mantisa o significando, dígitos significativos del número. El tamaño máximo de este campo,
usualmente fijo y limitado, determina la precisión de la representación. Este campo está
usualmente normalizado, es decir, su parte entera sólo consta de un dígito (que será la primera
cifra significativa del número a representar).

b: base del sistema de representación (10 en sistema decimal, 8 en sistema octal, 2 en sistema
binario, etc)
e: exponente, orden de magnitud del significando. El mínimo y máximo valor posible del exponente
determinan el rango de valores representables. Cabe añadir que cuando e vale cero el valor real
coincide con el significando.

En ciertos casos se usa como , con un cuarta mantisa, s, que tiene el valor de 1 ó -1
según el signo del número (que se extrae del significando).

Sistema decimal [editar]


Artículo principal: Notación científica

Con el fin de optimizar la notación de cifras de numerosos dígitos, se acude al uso de unidades
múltiplos en el caso de ser un valor métrico o a la coma flotante en los demás. Su uso es común en
la física por los valores amplios e imprecisos que se acostumbran a obtener. Por esta razón también
se incluye cierta permisividad con la inexactitud del valor. El error que puede surgir del empleo de
este método se suele combinar al error calculado de los resultados.

El método utilizado es mover la coma a la parte más significativa de la cifra, es decir, variando el
peso aritmético de los dígitos que lo componen. Para entender el significado de los números en
coma flotante, acudimos a ejemplos más evidentes del sistema decimal:

 Supongamos que tenemos los siguientes números reales: 3135,07; 0,04576 y 69233704,063.
 Tomando de éstos sus 6 dígitos significativos, su conversión a notación de coma flotante
normalizada, en donde la coma decimal se sitúa a la derecha del primer dígito, se escribirán
3,13507×103; 4,57600×10-2 y 6,92337×107.

Como se observa en estos ejemplos, la coma decimal se ha desplazado hacia la derecha o hacia la
izquierda para obtener la misma estructura en la notación. La pérdida de información en el tercer
caso es potencialmente negligible, su error es del 0,001%.

En notación de coma fija, con 4 dígitos para los enteros y 2 dígitos, para los decimales se obtendría
3135,07; 0,04 y 3704,06 pudiendo perder información importante en entornos no controlados de
uso.

Sistema binario [editar]

Un valor real se puede extender a la izquierda o a la derecha de forma arbitraria. En la informática


se dispone de una cantidad limitada de dígitos para representar un valor, un número real puede
rebasar este rango con facilidad. La coma flotante proporciona un cambio de ponderación que en
este entorno técnico permite almacenar valores con partes significativas de peso alejado a 0, esto es
alejadas de la coma a su derecha o a su izquierda. La limitación se halla cuando existe información
de peso mucho menor al de la parte significativa que es necesariamente truncado. Sin embargo, y
según el uso, la relevancia de esos datos puede ser despreciable, razón por la cual el método es
interesante pese a ser una potencial fuente de error.

Técnicamente no se puede colocar una coma en una cifra puesto que sólo se pueden manejar
valores de 0 y 1. Para resolver el problema se fuerza que la mantisa esté normalizada, con lo cual se
conoce la posición de la coma.

El bit de mayor peso define si hay signo negativo o no lo hay. Le siguen una serie de bits que
definen el exponente en defecto a la mitad del rango de dichos bits. El resto de bits son la mantisa.
Emplearemos varios ejemplos en una notación de 16 bit para describir el método usado:

En este caso, el exponente ocupa 6 bits capaces de representar de 0 a 63, por lo tanto, al
exponente se le suma 31 en esta notación. La mantisa, al ser normalizada, tendrá siempre un 1 en
su parte entera. Este bit redundante se denomina bit oculto o implícito y no se incluye en esta
notación.

La notación genérica mencionada arriba para la coma flotante es pues respectivamente:

(con todos los valores expresados en representación binaria)

La notación en coma flotante es más lenta de procesar y menos precisa que la notación en coma fija,
pero dado un tamaño fijo de dígitos, permite un mayor rango en los números que se pueden
representar con ellos.

Debido a que las operaciones aritméticas que se realizan con números en coma flotante son muy
complejas de realizar, muchos sistemas destinan un procesador especial para la realización
específica de este tipo de operaciones, denominado Unidad de Coma Flotante.

En ordenadores y calculadoras los números en coma flotante se suelen representar de forma distinta.
Donde se debería escribir se suele escribir (por ejemplo , también
escrito y ; otro ejemplo: ) o incluso, sobre
todo en calculadoras científicas: , aunque técnicamente es incorrecto (por ejemplo
).

IEEE punto flotante


De Wikipedia, la enciclopedia libre

Saltar a navegación, búsqueda

El estándar de la IEEE para aritmética en coma flotante (IEEE 754) es el estándar más
extendido para las computaciones en punto flotante, y es seguido por muchas de las mejoras de
CPU y FPU. El estándar define formatos para la representación de números en punto flotante
(incluyendo el cero) y valores desnormalizados, así como valores especiales como infinito y NaN,
con un conjunto de operaciones en punto flotante que trabaja sobre estos valores. También
especifica cuatro modos de redondeo y cinco excepciones (incluyendo cuando dichas excepciones
ocurren, y que sucede en dichos momentos).

IEEE 754 especifica cuatro formatos para la representación de valores en punto flotante: precisión
simple (32 bits), precisión doble (64 bits), precisión simple extendida (≥ 43 bits, no usada
normalmente) y precisión doble extendida (≥ 79 bits, usualmente implementada con 80 bits). Sólo
los valores de 32 bits son requeridos por el estándar, los otros son opcionales. Muchos lenguajes
especifican qué formatos y aritmética de la IEEE implementan, a pesar de que a veces son
opcionales. Por ejemplo, el lenguaje de programación C, ahora permite pero no requiere la
aritmética de la IEEE (el tipo de C float es típicamente usado para la precisión simple de la IEEE
y el tipo double usa la precisión doble del la IEEE).

El título completo del estándar es IEEE Standard for Binary Floating-Point Arithmetic
(ANSI/IEEE Std 754-1985), y también es conocido por IEC 60559:1989, Binary floating-point
arithmetic for microprocessor systems (originalmente el número de referencia era IEC 559:1989).
[1]

Contenido
[ocultar]

 1 Anatomía de un número en punto flotante


o 1.1 Convenciones de Bit usadas en este artículo
o 1.2 Precisión simple 32-bits
o 1.3 Un Ejemplo
 2 Precisión doble 64-bits
o 2.1 Comparación de números en punto flotante
o 2.2 Redondeo de números en punto flotante
 3 Revisión del estándar
 4 Enlaces externos

Anatomía de un número en punto flotante [editar]

Convenciones de Bit usadas en este artículo [editar]

Los Bits dentro de una palabra de tamaño W están indexados por enteros en el rango 0 a W−1
inclusive. El bit cuyo índice es 0 se sitúa a la derecha. El menor bit indexado es normalmente el
menos significativo.

Precisión simple 32-bits [editar]

Un número en punto flotante de precisión simple se almacena en una palabra de 32 bits.

1 8 23 <-- tamaño en bits


+-+--------+-----------------------+
|S| Exp | Mantisa |
+-+--------+-----------------------+
31 30 23 22 0 <-- índice del bit (0 a la derecha)
desplazado +127

donde S es el bit de signo y Exp es el campo exponente. (Para el signo: 0=Positivo ; 1= Negativo).
El exponente es desplazado en el un número en precisión simple, un exponente en el rango −126 a
+127 es desplazado mediante la suma de 127 para obtener un valor en el rango 1 a 254 (0 y 255
tienen valores especiales descritos más adelante). Cuando se interpreta el valor en punto flotante, el
número es desplazado de nuevo para obtener el exponente real.

El conjunto de valores posibles pueden ser divididos en los siguientes:

 ceros
 números normalizados
 números desnormalizados
 infinitos
 NaN (¬E, no es un número, como por ejemplo, la raíz cuadrada de un número negativo)

Las clases se distinguen principalmente por el valor del campo Exp, siendo modificada ésta por el
campo fracción. Considera Exp y Fracción como campos de números binarios sin signo (Exp se
encuentra en el rango 0–255):

Clase Exp Fracción

Ceros 0 0

Números
0 distinto de 0
desnormalizados

Números normalizados 1-254 cualquiera

Infinitos 255 0

NaN (Not a Number) 255 distinto de 0

Para números normalizados, los más comunes, Exp es el exponente desplazado y Fracción es la
parte fraccional de la mantisa (o significando). El número tiene valor v:

v = s × 2e × m

Donde

s = +1 (números positivos) cuando S es 0

s = −1 (números negativos) cuando S es 1


e = Exp − 127 (en otras palabras, al exponente se le suma 127 i se almacena, a esto también se le
llama "biased with 127" en inglés)

m = 1.Fracción en binario (esto es, el significando es el número binario 1 seguido por el punto
decimal seguido por los bits de Fracción). Por lo tanto, 1 ≤ m < 2.

Notas:

1. Los números desnormalizados son iguales excepto que e = −126 y m = 0.Fracción. (e NO es -127 : el
significando ha de ser desplazado a la derecha por un bit más, de forma que incluya el bit principal,
que no siempre es 1 en este caso. Esto se balancea incrementando el exponente a -126 para el
cálculo.)
2. −126 es el menor exponente para un número desnormalizado
3. Hay dos ceros. +0 (S es 0) y −0 (S es 1)
4. Hay dos infinitos +∞ (S es 0) y −∞ (S es 1)
5. Los NaN s pueden tener un signo y un significando, pero estos no tienen otro significado que el que
puedan aportar en pruebas de diagnóstico; el primer bit del significando es a menudo utilizado para
distinguir NaN s señalizados de NaN s silenciosos
6. los NaNs y los infinitos tienen todos los bits a 1 en el campo Exp.

Un Ejemplo [editar]

Codifiquemos el número decimal -118.625 usando el sistema de la IEEE 754.

Necesitamos obtener el signo, el exponente y la fracción.

Dado que es un número negativo, el signo es "1". Busquemos los demás valores:

Primero, escribimos el número (sin signo) usando notación binaria. Mira el sistema de numeración
binario para ver cómo hacer esto. El resultado es 1110110.101.

Ahora, movamos el punto decimal a la izquierda, dejando sólo un 1 a su izquierda.

1110110.101=1.110110101·26 Esto es un número en coma flotante normalizado.

La mantisa es la parte a la derecha del punto decimal, rellenada con ceros a la derecha hasta que
obtengamos todos los 23 bits. Es decir 11011010100000000000000.

El exponente es 6, pero necesitamos convertirlo a binario y desplazarlo (de forma que el exponente
más negativo es 0, y todos los exponentes son solamente números binarios no negativos). Para el
formato IEEE 754 de 32 bits, el desplazamiento es 127, así es que 6 + 127 = 133. En binario, esto se
escribe como 10000101.

Poniendo todo junto:

1 8 23 <-- tamaño en bits


+-+--------+-----------------------+
|S| Exp | Mantisa |
|1|10000101|11011010100000000000000|
+-+--------+-----------------------+
31 30 23 22 0 <-- índice del bit (0 a la derecha)
desplazado +127
Precisión doble 64-bits [editar]

La precisión doble es esencialmente lo mismo exceptuando que los campos son de mayor tamaño
(más bits por campo):

1 11 52 <-- tamaño
en bits
+-+-----------+----------------------------------------------+
|S| Exp | Mantisa |
+-+-----------+----------------------------------------------+
63 62 52 51 0 <-- índice del
bit (0 a la derecha)
desplazado +1023

Los NaN s y los infinitos son representados con todos los bits de los Exp siendo 1 (2047 en
decimal).

Para los números normalizados, el exponente es desplazado +1023 (así nuestro ejemplo anterior es
Exp - 1023) Para números denormalizados el exponente es -1022 (el mínimo exponente para un
número normalizado— no es 1024 porque los números normalizados tienen un bit a 1 delante del
punto binario y los números desnormalizados no). Como antes, ambos infinitos y los ceros
contienen signo.

Comparación de números en punto flotante [editar]

La comparación de números en punto flotante se realiza generalmente usando instrucciones de


punto flotante. Sin embargo esta representación (IEEE 754) hace la comparación de determinados
subconjuntos posible byte-por-byte, si comparten el mismo orden de bytes y el mismo signo, y
además los NaN s son excluidos.

Por ejemplo, para dos números positivos a y b, a < b es cierto siempre que los enteros binarios sin
signo con los mismos patrones de bits y el mismo orden de bytes que a y b son también ordenados
de forma a < b. En otras palabras, dos números positivos (que se sabe que no son NaN s) puede ser
comparados con una comparación entre enteros binarios sin signo entre los mismos grupos de bits,
teniendo como base que los números tienen el mismo orden de bytes (esta ordenación, por tanto, no
puede ser utilizada a través de una unión en el lenguaje de programación C. Este es un ejemplo de
ordenación lexicográfica.

Redondeo de números en punto flotante [editar]

El estándar de la IEEE tiene cuatro formas diferentes de redondeo:

 Unbiased que redondea al número más cercano, si el número cae en medio, este es redondeado al
valor más cercano con un valor par (cero) en su bit menos significativo. Este modo es el requerido
como por defecto.
 Hacia el cero
 Hacia el infinito positivo
 Hacia el infinito negativo

3.2.2 Representación de los números en punto flotante

En un ordenador típico los números en punto flotante se representan de la manera descrita en el apartado
anterior, pero con ciertas restricciones sobre el número de dígitos de q y m impuestas por la longitud de
palabra disponible (es decir, el número de bits que se van a emplear para almacenar un número). Para
ilustrar este punto, consideraremos un ordenador hipotético que denominaremos MARC-32 y que dispone
de una longitud de palabra de 32 bits (muy similar a la de muchos ordenadores actuales). Para representar
un número en punto flotante en el MARC-32, los bits se acomodan del siguiente modo:

Signo del número real x: 1 bit

Signo del exponente m: 1 bit

Exponente (entero |m|): 7 bits

Mantisa (número real |q|): 23 bits

En la mayoría de los cálculos en punto flotante las mantisas se normalizan, es decir, se toman de forma que
el bit más significativo (el primer bit) sea siempre '1'. Por lo tanto, la mantisa q cumple siempre la ecuación
(19).

Dado que la mantisa siempre se representa normalizada, el primer bit en q es siempre 1, por lo que
no es necesario almacenarlo proporcionando un bit significativo adicional. Esta forma de almacenar
un número en punto flotante se conoce con el nombre de técnica del 'bit fantasma'.

Se dice que un número real expresado como aparece en la ecuación (18) y que satisface la ecuación
(19) tiene la forma de punto flotante normalizado. Si además puede representarse exactamente con
|m| ocupando 7 bits y |q| ocupando 24 bits, entonces es un número de máquina en el MARC-323

La restricción de que |m| no requiera más de 7 bits significa que:

Ya que , la MARC-32 puede manejar números tan pequeños como 10-38 y tan grandes
38
como 10 . Este no es un intervalo de valores suficientemente generoso, por lo que en muchos casos
debemos recurrir a programas escritos en aritmética de doble precisión e incluso de precisión
extendida.

Como q debe representarse empleando no más de 24 bits significa que nuestros números de
máquina tienen una precisión limitada cercana a las siete cifras decimales, ya que el bit menos
significativo de la mantisa representa unidades de . Por tanto, los números
expresados mediante más de siete dígitos decimales serán objeto de aproximación cuando se
almacenen en el ordenador.

Por ejemplo: 0.5 representado en punto flotante en el MARC-32 (longitud de palabra de 32 bits) se
almacena en la memoria del siguiente modo:
Ejemplo 5: Suponga un ordenador cuya notación de punto fijo consiste en palabras de longitud 32
bits repartidas del siguiente modo: 1 bit para el signo, 15 bits para la parte entera y 16 bits para la
parte fraccionaria. Represente los números 26.32, y 12542.29301 en base 2
empleando esta notación de punto fijo y notación de punto flotante MARC-32 con 32 bits. Calcule el
error de almacenamiento cometido en cada caso.

Solución: El número 26.32 en binario se escribe del siguiente modo:

Empleando las representaciones comentadas, obtenemos:

Si expresamos el error como la diferencia entre el valor y el número realmente almacenado en el


ordenador, obtenemos:

En cuanto a los otros dos números, obtenemos:

Antes de entrar con detalle en la aritmética de los números en punto flotante, es interesante notar
una propiedad de estos números de especial importancia en los cálculos numéricos y que hace
referencia a su densidad en la línea real. Supongamos que p, el número de bits de la mantisa, sea 24.

En el intervalo (exponente f = 0) es posible representar 224 números igualmente espaciados y

separados por una distancia 1/224. De modo análogo, en cualquier intervalo hay 224
f 24 20
números equiespaciados, pero su densidad en este caso es 2 /2 . Por ejemplo, entre 2 = 1048576
y 221 = 2097152 hay 224 = 16777216 números, pero el espaciado entre dos números sucesivos es de

sólo . De este hecho se deriva inmediatamente una regla práctica: cuando es necesario comparar
dos números en punto flotante relativamente grandes, es siempre preferible comparar la diferencia
relativa a la magnitud de los números. En la figura (1) se representa gráficamente la separación
entre dos números consecutivos en función del exponente f en el rango f = [20,30].
Figure: Evolución de la separación entre dos números
consecutivos en función del exponente, f, de la
representación en punto flotante de un número real.

[bb=55 60 455 410, clip=true, scale=0.7]eps/expon

Conversiones de un Sistema a Otro

Las conversiones entre números de bases diferentes se efectúan por medio de operaciones
aritméticas simples. Dentro de las conversiones más utilizadas se encuentran:

Conversión de Decimal a Binario

Para la conversión de decimal a binario se emplean dos métodos. El primero es divisiones sucesivas
y el segundo es suma de potencias de 2.

Por divisiones sucesivas

Se va dividiendo la cantidad decimal por 2, apuntando los residuos, hasta obtener un cociente cero.
El último residuo obtenido es el bit más significativo (MSB) y el primero es el bit menos
significativo (LSB).

Ejemplo

Convertir el número 15310 a binario.


Figura 1.2.1.Ejemplo de conversión de decimal a binario

El resultado en binario de 15310 es 10011001

Por sumas de potencias de 2

Este método consiste en determinar el conjunto de pesos binarios cuya suma equivalga al número
decimal.

Ejemplo

Convertir el número 15310 a binario.

15310 = 27 + 24 + 23 + 20 = 128 + 16 +8 +1

15310= 100110012

Como se aprecia, si se cuenta con alguna familiaridad con las potencias de 2 este último método es
más rápido.

Conversión de Fracciones Decimales a Binario

Para la conversión de fracciones decimales a binario se emplean el siguiente método.

Por suma de potencias de 2

Emplea la misma metodología de la suma de potencias de 2 pero se trabaja con potencias negativas.

Ejemplo

Convertir el número 0,87510 a binario.

0,87510 = (2-1) + (2-2) + (2-3) = 0,5 + 0,25 + 0,125 = 0,1112

Por multiplicaciones sucesivas

La conversión de números decimales fraccionarios a binario se realiza con multiplicaciones


sucesivas por 2. El número decimal se multiplica por 2, de éste se extrae su parte entera, el cual va a
ser el MSB y su parte fraccional se emplea para la siguiente multiplicación y seguimos
sucesivamente hasta que la parte fraccional se vuelva cero o maneje un error moderado. El último
residuo o parte entera va a constituir el LSB.
Ejemplo

Convertir el número 0,87510 a binario.

Parte entera Peso


Número N N X 2

1,75 1 MSB
0,875

1,5 1
0,75

1,00 1 LSB
0,5

Tabla 1.2.1. Ejemplo de Conversión de Decimal a Binario.

El resultado en binario de 0,87510 es 0,1112.

Conversión de Decimal a Hexadecimal

En la conversión de una magnitud decimal a hexadecimal se realizan divisiones sucesivas por 16


hasta obtener un cociente de cero. Los residuos forman el número hexadecimal equivalente, siendo
el último residuo el dígito más significativo y el primero el menos significativo.

Ejemplo

Convertir el número 186910 a hexadecimal.

Figura 1.2.2. Ejemplo de Conversión de decimal a hexadecimal

El resultado en hexadecimal de 186910 es 74D16.

Conversión de Decimal a Octal

En la conversión de una magnitud decimal a octal se realizan divisiones sucesivas por 8 hasta
obtener la parte entera del cociente igual a cero. Los residuos forman el número octal equivalente,
siendo el último residuo el dígito más significativo y el primero el menos significativo.

Ejemplo

Convertir el número 46510 a octal.

N÷8 Parte decimal x 8 Peso


Número N Parte decimal

58,125 0,125 1 LSB


465
7,25 0,25 2
58

0,875 0,875 7 MSB


0,5

Tabla 1.2.2. Ejemplo de Conversión de Decimal a Hexadecimal.

El resultado en octal de 46510 es 721.

Conversión de Binario a Decimal

Un número binario se convierte a decimal formando la suma de las potencias de base 2 de los
coeficientes cuyo valor sea 1 (ver lección 1).

Ejemplo

Convertir el número 11002 a decimal.

11002 = 1x23 + 1x22 = 1210

Conversión de Binario a Hexadecimal

El método consiste en conformar grupos de 4 bits hacia la izquierda y hacia la derecha del punto
que indica las fracciones, hasta cubrir la totalidad del número binario. Enseguida se convierte cada
grupo de número binario de 4 bits a su equivalente hexadecimal.

Ejemplo

Convertir el número 10011101010 a hexadecimal.

Conversión de Binario a Octal

El método consiste en hacer grupos de 3 bits hacia la izquierda y hacia la derecha del punto que
indica las fracciones, hasta cubrir la totalidad del número binario. Enseguida se convierte cada
grupo de número binario de 3 bits a su equivalente octal.

Ejemplo

Convertir el número 010101012 a octal.

Conversión de Hexadecimal a Decimal

En el sistema hexadecimal, cada dígito tiene asociado un peso equivalente a una potencia de 16,
entonces se multiplica el valor decimal del dígito correspondiente por el respectivo peso y realizar
la suma de los productos.
Ejemplo

Convertir el número 31F16 a decimal.

31F16 = 3x162 + 1x16 + 15 x 160 = 3x256 + 16 + 15 = 768 + 31 = 79910

Conversión de Hexadecimal a Binario

La conversión de hexadecimal a binario se facilita porque cada dígito hexadecimal se convierte


directamente en 4 dígitos binarios equivalentes.

Ejemplo

Convertir el número 1F0C16 a binario.

1F0C16 = 11111000011002

Conversión de Octal a Decimal

La conversión de un número octal a decimal se obtiene multiplicando cada dígito por su peso y
sumando los productos:

Ejemplo

Convertir 47808 a decimal.

4780 = (4 x 83)+(3x82)+(8x81)+(0x80) = 2048+192+64+0= 2304

Conversión de Octal a Binario

La conversión de octal a binario se facilita porque cada dígito octal se convierte directamente en 3
dígitos binarios equivalentes.

Ejemplo

Convertir el número 7158 a binario.

7158 = (111001101)2

Sistemas de numeración
1. Introducción
La importancia del sistema decimal radica en que se utiliza universalmente para representar
cantidades fuera de un sistema digital. Es decir que habrá situaciones en las cuales los valores
decimales tengan que convenirse en valores binarios antes de que se introduzcan en sistema
digital. Entonces habrá situaciones en que los valores binarios de las salidas de un circuito digital
tengan que convertir a valores decimales para presentarse al mundo exterior.
Por otro lado del binario y el decimal, otros dos sistemas de numeración encuentran amplias
aplicaciones en los sistemas digitales. Los sistemas octal (base 8) y hexadecimal (base 16) se usan
con el mismo fin, que es ofrecer un eficaz medio de representación de números binarios grandes.
Como veremos, ambos sistemas numéricos tienen la ventaja de que pueden convenirse fácilmente
al y del binario.
Tabla Comparativa

binario decimal hexa binario decimal hexa

0000 0 0 1000 8 8

0001 1 1 1001 9 9

0010 2 2 1010 10 A

0011 3 3 1011 11 B

0100 4 4 1100 12 C

0101 5 5 1101 13 D

0110 6 6 1110 14 E

0111 7 7 1111 15 F

2. Sistema de numeración binario


Conversión de binario a decimal.- El sistema de numeración binario u un sistema de posición
donde cada dígito binario (bit) tiene un valor basado en su posición relativa al LSB. Cualquier
número binario puede convenirse a su equivalente decimal, simplemente sumando en el número
binario las diversas posiciones que contenga un 1. Por ejemplo:
1 1 1 0 1 12 de binario a decimal
1 x 25 + 1 x 24 + 1 x 23 + 0 x 22 + 1 x 2 + 1 = 6910
Conversión de decimal a binario.- Existen dos maneras de convenir un número decimal entero a su
representación equivalente en el sistema binario. El primer método es inverso al proceso descrito
anteriormente. El número decimal se expresa simplemente como una suma de potencias de 2 y
luego los unos y los ceros se escriben en las posiciones adecuadas de los bits. Por ejemplo:

174 2

0 87 2

1 43 2

1 21 2

1 10 2

0 5 2

1 2 2
0 1

45 = 32 + 8 + 4 + l = 25 + 0 + 23 +2 2 + 0 + 20
entonces es igual a 1 0 1 1 0 12
Pasar a decimal el binario 101011102
10101110

0 * 20 = 0

1 * 21 = 2

1 * 22 = 4

1 * 23 = 8

0 * 24 = 0

1 * 25 = 32

0 * 26 = 0

1 * 27 = 128

174

101011102 = 17410
El segundo método consiste dividir repetidas veces el número entre dos hasta que su cociente sea
menor que él. Por ejemplo:

con residuo 0

con residuo 1

con residuo 0

con residuo 0

con residuo 0

con residuo 0

con residuo 0
con residuo 1
Entonces el número se forma tomando los residuos pero en forma inversa, es decir el primer digito
será el último residuo y así sucesivamente. El número quedaría como sigue:
1 0 0 0 0 0 1 02
3. Operaciones Binarias
En lo que sigue se adopta como convención la lógica positiva, lo que implica:
verdadero = 1 = activo, ------, falso = 0 = inactivo
Hay cinco operaciones binarias básicas: AND, OR, NOT, XOR y ADD. La resta, multiplicación y
división se derivan de estas cinco anteriores. Cualquiera sea la longitud de la palabra o palabras
objeto de la operación, siempre se hace de a un bit por vez de derecha a izquierda (tal como si fuera
una suma o resta con números decimales). Esto permite una definición de cada operación que es
independiente de la longitud del o de los operando(s). La operación NOT es la única que se realiza
sobre un sólo operando (es unaria), y las otras cuatro sobre dos operandos.
o La operación AND (Y) tiene resultado 1 si sus dos operandos son ambos 1
o La operación OR (O) tiene resultado 1 si cualquiera de sus operandos es 1
o La operación XOR tiene resultado 1 si los operandos son distintos (uno en 0 y el otro en 1)
o La operación NOT (NO) tiene resultado 1 si el operando es 0 y viceversa
o La operación ADD (SUMA) se define igual que con los números decimales

AND OR XOR NOT SUMA

0 * 0 = 0 0 + 0 = 0 0 X 0 = 0 NOT 1 = 0 0 + 0 = 0

0 * 1 = 0 0 + 1 = 1 0 X 1 = 1 NOT 0 = 1 0 + 1 = 1

1 * 0 = 0 1 + 0 = 1 1 X 0 = 1 --- 1+0=1

1 * 1 = 1 1 + 1 = 1 1 X 1 = 0 --- 1 + 1 = 10

División
Reglas de la división binaria: 0/0 no permitida, 1/0 no permitida,0/1=0, 1/1=1
Ejemplos De Suma

1 1 1 1 1 Acarreo

1 1 0 0 1 25

+ 1 0 1 0 1 1 + 43

1 0 0 0 1 0 0 68

1 1 Acarreo
1 1 0. 1 0 6,50

+ 1 1 0 1. 0 1 +
13.25

1 0 0 1 1. 1 1 19.75

1 1 0 0 1 25

* 1 0 0 1 1 * 19

1 1 0 0 1

1 1 0 0 1

1 1 0 0 1 0 0

1 1 1 0 1 1 0 1 1 475

Es lo que hacemos en la suma decimal 5+5=10 (nos llevamos "1" para la operación del dígito
siguiente). Este llevarse "1" es vastamente usado entre los procesadores digitales y tiene un nombre
especial: carry (lo verá abreviado como CY, C o CF-por carry flag), lo que en castellano se traduce
como "acarreo" (que suena muy mal, asi que le seguiremos llamando carry). Estas operaciones
también se llaman "booleanas" ya que se basan en el álgebra de Boole (invito al lector a rememorar
cuando en la escuela secundaria se preguntaba, igual que yo, si el álgebra de Boole le serviría
alguna vez para algo).
En un ordenador el sistema de numeración es binario -en base 2, utilizando el 0 y el 1- hecho
propiciado por ser precisamente dos los estados estables en los dispositivos digitales que
componen una computadora.
Para sumar números, tanto en base 2 como hexadecimal, se sigue el mismo proceso que en base 10:
Podemos observar que la suma se desa-
1010 1010b rrolla de la forma tradicional; es decir:
+ 0011 1100b sumamos normalmente, salvo en el caso de
-------------- 1 + 1 = 102 , en cuyo caso tenemos un aca-
1110 0110b rreo de 1 (lo que nos llevamos).

Complemento a dos.
En general, se define como valor negativo de un número el que necesitamos sumarlo para obtener
00h, por ejemplo:
FFh Como en un byte solo tenemos dos nibbles, es
+ 01h decir, dos dígitos hexadecimales, el resultado es
------ 0 (observar cómo el 1 más significativo subrayado
100h es ignorado). Luego FFh=-1. Normalmente, el bit 7
se considera como de signo y, si está activo (a 1)
el número es negativo.
Por esta razón, el número 80h, cuyo complemento a dos es él mismo, se considera negativo (-128) y
el número 00h, positivo. En general, para hallar el complemento a dos de un número cualquiera
basta con calcular primero su complemento a uno, que consiste en cambiar los unos por ceros y los
ceros por unos en su notación binaria; a continuación se le suma una unidad para calcular el
complemento a dos. Con una calculadora, la operación es más sencilla: el complemento a dos de un
número A de n bits es 2n-A.
Otro factor a considerar es cuando se pasa de operar con un número de cierto tamaño (ej., 8 bits) a
otro mayor (pongamos de 16 bits). Si el número es positivo, la parte que se añade por la izquierda
son bits a 0. Sin embargo, si era negativo (bit más significativo activo) la parte que se añade por la
izquierda son bits a 1. Este fenómeno, en cuya demostración matemática no entraremos, se puede
resumir en que el bit más significativo se copia en todos los añadidos: es lo que se denomina la
extensión del signo: los dos siguientes números son realmente el mismo número (el -3 10): 11012 (4
bits) y 111111012 (8 bits).
Sistema de numeración octal
El sistema de numeración octal es muy importante en el trabajo que se realiza en una computadora
digital. Este tiene una base de ocho, lo cual significa que tiene ocho posibles dígitos: 0, 1, 2, 3, 4, 5,
6 y 7. Así, cada dígito de un número octal puede tener cualquier valor del 0 al 7.
Conversi6n de octal a decimal.- Por tanto, un número octal puede convenirse fácilmente a su
equivalente decimal multiplicando cada dígito octal por su valor posicional. Por ejemplo:
2748 = 2 x 82 + 7 x 81 + 4 x 80
2848 = 2 x 64 + 7 x 8 + 4 x 1
2848 = 18810
Conversión de decimal a octal.- Un entero decimal se puede convertir a octal con el mismo método
dc división repetida que se usó en la conversión de decimal a binario, pero con un factor de división
dc 8 en lugar de 2. Por ejemplo:

con residuo 4

con residuo 4

con residuo 2
Al final resulta que:
16410 = 2448
Conversión de octal a binario.- La ventaja principal del sistema de numeración octal es la facilidad
con que se puede realizar la conversión entre números binarios y octales. La conversión de octal a
binario se lleva a cabo conviniendo cada dígito octal en su equivalente binario dc 3 bits.
Por medio de estas conversiones, cualquier número octal se conviene a binario, convirtiéndolo dc
manera individual. Por ejemplo, podemos convertir 516, a binario de la siguiente manera:
516
101. 001 110

entonces:
5168 = 1010011102
Conversi6n de binario a octal.- La conversión de enteros binarios a octales es simplemente la
operación inversa del proceso anterior. Los bits del número binario se agrupan en conjuntos de tres
comenzando por el LSB. Luego, cada grupo se convierte a su equivalente octal. Por ejemplo:
111 001 101 110
7156
entonces:
1110011011102 = 71568
Sistema De Numeración Hexadecimal
Conversión de hexadecimal a decimal.- Un número hexadecimal se puede convenir a su
equivalente decimal utilizando el hecho de que cada posición de los dígitos hexadecimales tiene un
valor que es una potencia de 16. El LSD tiene un valor de l60 = 1; el siguiente dígito en secuencia
tiene un valor de 161 = 16; el siguiente tiene un valor de 162 = 256 y así sucesivamente. Por ejemplo:
81216 = 8 x 162 + 1 x 161 + 2 x 160
81216 = 2048 + 16 + 2
81216 = 206610
Conversión de decimal a hexadecimal.- Recuerde que efectuamos la conversión de decimal a
binario por medio de la división repetida entre 2 y de decimal a octal por medio de la división
repetida entre 8. De igual manera, la conversión de decimal a hexadecimal se puede efectuar por
medio de la división repetida entre 16. Por ejemplo:

con residuo 7

con residuo 010

con residuo 1
entonces:
42310 = 1A716
Conversión de hexadecimal a binario.- Al igual que el sistema de numeración octal, el sistema
hexadecimal se usa principalmente como método ‘taquigráfico" en la representación de números
binarios. Es una tarea relativamente simple la de convertir un número hexadecimal en binario.
Cada dígito hexadecimal se convierte en su equivalente binario de 4 bits. Por ejemplo:
6D23
110. 1101 0010 0011

entonces:
6D2316 = 1101101001000112
Conversión de binario a hexadecimal.- Esta conversión es exactamente la operación inversa del
proceso anterior. El número binario se agrupa en conjuntos de cuatro bits y cada grupo se
convierte a su dígito hexadecimal equivalente. Cuando es necesario se añaden ceros para completar
un grupo de cuatro bits.
11101001102 = 0011 1010 0110
3A6
11101001102 = 3A616

SISTEMAS DE NUMERACIÓN

Los números se pueden representar en distintos sistemas de numeración que se diferencian entre si por su
base.
Así el sistema de numeración decimal es de base 10, el binario de base 2, el octal de base 8 y el
hexadecimal de base 16. El diseño de todo sistema digital responde a operaciones con números
discretos y por ello necesita utilizar los sistemas de numeración y sus códigos. En los sistemas digitales se
emplea el sistema binario debido a su sencillez.
Cualquier número de cualquier base se puede representar mediante la siguiente ecuación polinómica:

Siendo b la base del sistema de numeración. Se cumplirá que b>1; ai es un número perteneciente al
sistema que cumple la siguiente condición: 0 ≤ ai <b.

1.1. SISTEMA DECIMAL

Su origen lo encontramos en la India y fue introducido en España por los árabes. Su base es 10.
Emplea 10 caracteres o dígitos diferentes para indicar una determinada cantidad: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
El valor de cada símbolo depende de su posición dentro de la cantidad a la que pertenece. Veámoslo con
un ejemplo:

1.2. SISTEMA BINARIO

Es el sistema digital por excelencia, aunque no el único, debido a su sencillez. Su base es 2


Emplea 2 caracteres: 0 y 1. Estos valores reciben el nombre de bits (dígitos binarios). Así, podemos decir
que la cantidad 10011 está formada por 5 bits. Veamos con un ejemplo como se representa este número
teniendo en cuenta que el resultado de la expresión polinómica dará su equivalente en el sistema decimal:

1.3. SISTEMA OCTAL

Posee ocho símbolos: 0, 1, 2, 3, 4, 5, 6, 7. Su base es 8.


Este sistema tiene una peculiaridad que lo hace muy interesante y es que la conversión al sistema binario
resulta muy sencilla ya que, 8 = 23 . Así, para convertir un número de base 8 a binario se sustituye cada
cifra por su equivalente binario en el apartado 1.5. Conversiones se estudiará esta conversión.

1.4. SISTEMA HEXADECIMAL.

Está compuesto por 16 símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Su base es 16. Es uno de los


sistemas más utilizados en electrónica, ya que además de simplificar la escritura de los números binarios,
todos los números del sistema se pueden expresar en cuatro bits binarios al ser 16 = 24. La conversión de
un número hexadecimal a uno binario es muy sencilla al igual que en el sistema octal, profundizaremos en
ello en el apartado 1.5.

1.5. CONVERSIONES

CONVERSIÓN ENTRE BINARIO Y DECIMAL

Si la conversión es de binario a decimal, aplicaremos la siguiente regla: se toma la cantidad binaria y se


suman las potencias de 2 correspondientes a las posiciones de todos sus dígitos cuyo valor sea 1. Veamos
dos ejemplos:

1011112 = 1.25+0.24+1.23+1.22+1.21+1.20 = 4510

101012= 1.24+0.23+1.22+0.21+1.20 = 2110


Si la conversión es de decimal a binario, aplicaremos la siguiente regla: se toma la cantidad decimal dada y
se divide sucesivamente entre 2. Los restos obtenidos en cada división (0, 1), forman la cantidad binaria
pedida, leída desde el último cociente al primer resto. Se presentaran los ejemplos en forma de tabla debido
a la dificultad que supone utilizar el sistema tradicional de división con el editor:

Nº Decimal Base Cociente Resto

107 2 53 1

53 2 26 1

26 2 13 0
10710= 11010112
13 2 6 1

6 2 3 0

3 2 1 1

Fracción Multiplicado Dígito


Resultado
decimal por: binario

0,645 2 1,290 1
Cuando tengamos un número con decimales
seguiremos el siguiente procedimiento: 0,290 2 0,580 0
multiplicaremos por 2 la parte decimal y se toma
como dígito binario su parte entera. El proceso se 0,580 2 1,160 1
repite con la fracción decimal resultante del paso
anterior, hasta obtener una fracción decimal nula, o 0.160 2 0,320 0
bien hasta obtener el número de cifras binarias que
se desee. Ejemplo: 107,645. Como anteriormente 0,320 2 0.64 0
convertimos 107 a binario, el resultado de la
conversión quedaría así:
0.64 2 1.28 1
1101011, 101001012
0.28 2 0.56 0

0.56 2 1.12 1

CONVERSIÓN ENTRE OCTAL Y BINARIO

Si la conversión es de octal a binario cada cifra se sustituirá por su equivalente binario. Tendremos en
cuenta la siguiente tabla para hacer la conversión de modo más rápido:

Carácter octal Nº binario Ejemplo: 55,358


0 000 Resultado: 101 101, 011 1012
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Si la conversión es de binario a octal se realiza de modo contrario a la anterior conversión, agrupando los
bits enteros y los fraccionarios en grupos de 3 a partir de la coma decimal. Si no se consiguen todos los
grupos de tres se añadirán, los ceros que sean necesarios al último grupo, veámoslo con un ejemplo:

Agrupación Equivalente octal

010 2

Ejemplo: 11011111,111112 011 3

Resultado: 237,768 111 7


Observa como ha sido necesario añadir un cero en la
última agrupación de la parte entera y otro en la parte , ,
fraccionaria para completar los grupos de 3 dígitos.
111 7

110 6

CONVERSIÓN ENTRE OCTAL Y DECIMAL

Si la conversión es de octal a decimal se procederá como observas en el ejemplo:

7408= 7.82+4.81+4.80 = 48410

Si la conversión es de decimal a octal se procederá de modo similar a la conversión de decimal a binario,


pero dividiendo entre 8. Comprueba los resultados en el siguiente ejemplo:

42610 = 6528

CONVERSIÓN ENTRE BINARIO Y HEXADECIMAL

La conversión entre binario y hexadecimal es igual al de la conversión octal y binario, pero teniendo en
cuenta los caracteres hexadecimales, ya que se tienen que agrupar de 4 en 4. La conversión de binario a
hexadecimal se realiza según el ejemplo siguiente:

Sistema binario Sistema Hexadecimal Ejemplo: 1011111,1100012

0000 0 Agrupando obtenemos el siguiente resultado:


0101 1111, 1100 01002
0001 1
Sustituyendo según la tabla logramos la conversión
0010 2 esperada:

0011 3 5F, C416


0100 4

0101 5

0110 6
0111 7

1000 8

1001 9

1010 A

1011 B

1100 C

1101 D

1110 E

1111 F

La conversión de hexadecimal a binario simplemente sustituiremos cada carácter por su equivalente en


binario, por ejemplo:

69DE16= 0110 1001 1101 11102

1.6. EJERCICIOS PROPUESTOS

1. Para pasar de binario a decimal 6. Para


pasar de
a) 110012 Solución: 2510 hexadeci
b) 10110110112 Solución: 73110 mal a
binario
2. Para pasar de decimal a binario
a)
86BF16
a) 86910 Solución: 11011001012
b) 842610 Solución: 100000111010102
Solución:
10000110
3. Para pasar de binario a octal 10111111
2
a) 1110101012 Solución: 7258 b)
b) 11011, 012 Solución: 33,28 2D5E16

4. Para pasar de octal a binario Solución:


00101101
a) 20668 Solución: 0100001101102 01011110
b) 142768 Solución: 0011000101111102 2

5. Para pasar de binario a hexadecimal 7. Para


pasar de
octal a
a) 1100010002 Solución: 18816
decimal
b) 100010,1102 Solución: 22,C
a)
1068
Sistema binario
De Wikipedia, la enciclopedia libre

(Redirigido desde Aritmética binaria)

Saltar a navegación, búsqueda

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). 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).

Contenido
Solución:
[mostrar] 7010
b)
Historia del sistema binario [editar] 7428

Solución:
48210

8. Para
pasar de
decimal a
octal:

a)
23610

Solución:
3548
b)
5274610

Solución:
1470128

Página del artículo Explication de l'Arithmétique Binaire de Leibniz

El antiguo matemático hindú Pingala presentó la primera descripción que se conoce de un


sistema de numeración binario en el siglo tercero antes de nuestra era, lo cual coincidió
con su descubrimiento del concepto del número cero.

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 utilizados 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. Sin embargo, no hay ninguna prueba de que
Shao entendió el cómputo binario.

En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían
reducirse a secuencias de dígitos binarios, la cuales podrían ser codificados 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


diecisiete, en su artículo "Explication de 'Arithmétique Binaire". En él se mencionan los
símbolos binarios usados por matemáticos chinos. Leibniz usó 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.

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ó un ordenador basado en relés - al cual apodó "Modelo K" (porque lo
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, el cual
escribió acerca de dicho suceso en sus diferentes tipos de memorias en la cual alcanzó
diferentes logros.

Representación [editar]

Un número binario puede ser representado por cualquier secuencia de bits (dígitos
binarios), que a su vez pueden ser representados por cualquier mecanismo capaz de estar
en dos estados mutuamente exclusivos. Las secuencias siguientes de símbolos podrían ser
interpretadas todas como el mismo valor binario numérico:

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 un ordenador, los valores numéricos pueden ser representados por dos voltajes
diferentes y también se pueden usar 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 arquitectura usada.

De acuerdo con la representación acostumbrada de cifras que usan números árabes, los
números binarios comúnmente son escritos usando los símbolos 0 y 1. Cuando son
escritos, los números binarios son a menudo subindicados, prefijados o sufijados para
indicar su base, o la raíz. 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)

Operaciones con números binarios [editar]

Suma de números Binarios [editar]

Las posibles combinaciones al sumar dos bits son:

 0+0=0
 0+1=1
 1+0=1
 1 + 1 = 10

100110101
+ 11010101
———————————
1000001010

Se puede convertir la operación binaria a una operación decimal resolver la decimal y del
resultado de la operación decimal se convierte a un resultado (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 [editar]

El algoritmo de la resta en 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 = no cabe o se pide prestado al próximo.

La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada
de la posición siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a decir en decimal, 2 - 1
= 1. Esa unidad prestada debe devolverse, sumándola, a la posición siguiente. Veamos
algunos ejemplos:

Restamos 17 - 10 = 7 (2=345) Restamos 217 - 171 = 46 (3=690)


10001 11011001
-01010 -10101011
—————— —————————
00111 00101110

A pesar de lo sencillo que es el procedimiento, es fácil confundirse. Tenemos


interiorizado el sistema decimal y hemos aprendido a restar mecánicamente, sin
detenernos a pensar en el significado del arrastre. Para simplificar las restas y reducir la
posibilidad de cometer errores hay varias soluciones:

 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. La resta de dos números binarios puede obtenerse


sumando al minuendo el complemento a dos del sustraendo. Veamos algunos ejemplos.
Hagamos la siguiente resta, 91 - 46 = 45, en binario:

1011011 1011011
-0101110 C2 de 46 = 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 C2 de 23 = 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 1. 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 de
overflow (bit que se desborda).

Producto de números binarios [editar]

El algoritmo del producto en binario es igual que en números decimales; aunque se lleva
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 se suelen utilizar números mayores, no se utiliza este


método sino otro llamado algoritmo de Booth.

División de números binarios [editar]

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, estas deben ser realizadas en binario. Por ejemplo, vamos
a dividir 100010010 (274) entre 1101 (13):

100010010 |1101
——————
- 0000 010101
———————
10001
- 1101
———————
01000
- 0000
———————
10000
- 1101
———————
00111
- 0000
———————
01110
- 1101
———————
00001

Conversión entre binario y decimal, binario y octal, y binario y


hexadecimal [editar]
Binario a decimal [editar]

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

1. Inicie por el lado derecho del número en binario, cada número multiplíquelo por 2 y
elévelo a la potencia consecutiva (comenzando por la potencia 0).
2. Después de realizar cada una de las multiplicaciones, sume todas y el número resultante
será el equivalente al sistema decimal.

Ejemplos:

 110101 (binario) = 53 (decimal). Proceso:

1*(2) elevado a (0)=1


0*(2) elevado a (1)=0
1*(2) elevado a (2)=4
0*(2) elevado a (3)=0
1*(2) elevado a (4)=16
1*(2) elevado a (5)=32
La suma es: 53

 10010111 (binario) = 151 (decimal). Proceso:

1*(2) elevado a (0)=1


1*(2) elevado a (1)=2
1*(2) elevado a (2)=4
0*(2) elevado a (3)=0
1*(2) elevado a (4)=16
0*(2) elevado a (5)=0
0*(2) elevado a (6)=0
1*(2) elevado a (7)=128
La suma es: 151

 110111 (binario) = 55 (decimal). Proceso:

1*(2) elevado a (0)=1


1*(2) elevado a (1)=2
1*(2) elevado a (2)=4
0*(2) elevado a (3)=0
1*(2) elevado a (4)=16
1*(2) elevado a (5)=32
La suma es: 55

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.

Por ejemplo: el número binario 1010010 corresponde en decimal al 82 se puede


representar de la siguiente manera:

64 32 16 8 4 2 1
1 0 1 0 0 1 0

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

2
+16
64
----
82

Decimal a binario [editar]

Se divide el número decimal entre 2 cuyo resultado entero se vuelve a dividir entre 2 y así
sucesivamente. Una vez llegados al 1 indivisible se cuentan el último cociente, es decir el
uno final (todo número binario excepto el 0 empieza por uno), seguido de los residuos de
las divisiones subsiguientes. Del más reciente hasta el primero que resultó. Este número
será el binario que buscamos. A continuación se puede ver un ejemplo con el número
decimal 100 pasado a binario.

100|_2

0 50 |_2
0 25 |_2 --> 100 1100100
1 12 |_2
0 6 |_2
0 3 |_2
1 1

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 por 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. Y luego se haría un cuadro con las
potencias con el resultado.

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 1100100

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 den 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 10010111

Binario a octal [editar]

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 [editar]

Cada dígito octal se lo 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.
Binario a hexadecimal [editar]

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úme
ro en 00 00 00 00 01 01 01 01 10 10 10 10 11 11 11 11
binari 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11
o

Núme
ro en
hexad 0 1 2 3 4 5 6 7 8 9 A B C D E F
ecima
l

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 [editar]

Ídem que para pasar de hexadecimal a binario, solo que se remplaza por el equivalente de
4 bits, como de octal a binario.

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


Exceso 3 y Gray o Reflejado [editar]

Decimal Binario Hexadecima Octal BCD Exceso 3 Gray o Reflejado


l

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

11 1011 B 13 0001 0001

12 1100 C 14 0001 0010

13 1101 D 15 0001 0011

14 1110 E 16 0001 0100

15 1111 F 17 0001 0101

También podría gustarte