Академический Документы
Профессиональный Документы
Культура Документы
Lenguaje binario
Elaborado por:
M.C. Edgar E. Garca Cano
Ing. Jorge A. Solano Glvez
Revisado por:
Ing. Laura Sandoval Montao
Gua prctica de estudio 06: Lenguaje
binario
Objetivo:
Convertir nmeros enteros de sistema decimal (base 10) a base b (cualquier base).
Convertir nmeros enteros de base b (cualquier base) a sistema decimal (base 10).
Convertir nmeros reales de sistema decimal (base 10 a sistema binario (base 2).
Obtener el complemento aritmtico de un nmero en base 10 y base 2.
Introduccin
Para efectuar una operacin, el procesador necesita una secuencia de seales elctricas
almacenadas como unos y ceros (sistema binario) en la memoria. Por lo que a este lenguaje
tambin se le denomina lenguaje binario.
Una y solo una secuencia de estas seales (conjunto de bits) realiza determinada
operacin.
1
Representacin numrica
dn dn-1 d2 d1 d0 . d1 d2 dm1 dm
Ejemplo
Primero se divide el nmero original (en este caso 1992) entre la base a la que se quiere
convertir (en este caso 2), esto da como residuo 0 y como cociente 996 en la primera
iteracin. Para la segunda iteracin se divide el cociente obtenido (996) entre la base (2),
esto da como residuo 0 y como cociente 498. El proceso se repite hasta que el cociente sea
0.
2
Es importante aclarar que las divisiones son enteras, por lo tanto, si el nmero a dividir
fuese 5, el cociente sera 2 y el residuo sera 1. El resultado se obtiene leyendo los residuos
de arriba hacia abajo, es decir:
3
NOTA. Los lenguajes de programacin poseen una operacin llamada mdulo que regresa
como resultado el residuo de una divisin:
Es decir, la divisin de 1992 entre 2 da como resultado 996 (cociente). El mdulo de 1992
entre 2 da como resultado 0 (residuo).
Ejemplo
Primero se divide el nmero original (en este caso 1992) entre la base a la que se quiere
convertir (en este caso 8), esto da como residuo 0 y como cociente 249 en la primera
iteracin. Para la segunda iteracin se divide el cociente obtenido (249) entre la base (8),
esto da como residuo 1 y como cociente 31. En la tercera iteracin se divide el cociente
obtenido (31) entre la base (8), esto da como residuo 7 y como cociente 3. En la cuarta
iteracin se divide el cociente obtenido (3) entre la base (8), esto da como residuo 3 y como
cociente 0.
4
El resultado se obtiene leyendo los residuos de arriba hacia abajo, es decir:
Por lo tanto, la representacin del nmero 199210 en sistema octal (base 8) es 37108.
Ejemplo
Primero se divide el nmero original (en este caso 1992) entre la base a la que se quiere
convertir (en este caso 16), esto da como residuo 8 y como cociente 124 en la primera
iteracin. Para la segunda iteracin se divide el cociente obtenido (124) entre la base (16),
esto da como residuo 12 y como cociente 7. En la tercera iteracin se divide el cociente
obtenido (7) entre la base (16), esto da como residuo 7 y como cociente 0.
En el sistema hexadecimal los dgitos pueden ir de 0 a 15. Para representar los valores
mayores a 9, es decir, de 10 a 15, se utilizan letras como se ve en la siguiente tabla:
Dec 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F
5
El resultado se obtiene leyendo los residuos de arriba hacia abajo, es decir:
Por lo tanto, la representacin del nmero 199210 en sistema hexadecimal (base 16) es
7C816.
Para representar un nmero real base 10 a base b se tiene que hacer dos operaciones
repetitivas. La primera operacin consiste en dividir la parte entera del nmero decimal
(dividendo) entre la base (divisor) hasta que el resultado (cociente) sea cero. La segunda
operacin consiste en multiplicar la parte fraccionaria del nmero (multiplicando) por la
base (multiplicador). Los residuos obtenidos forman el nmero transformado a la base
especfica.
Ejemplo
La primera operacin consiste en dividir la parte entera del nmero decimal (dividendo)
entre la base (divisor) hasta que el resultado de la divisin (cociente) sea cero. El nmero
se lee de abajo hacia arriba.
6
Conversin de nmeros reales de base b a base diez
dn dn-1 d2 d1 d0
La magnitud de un nmero est determinada por la sumatoria del dgito multiplicado por
la base elevada a la posicin del dgito, es decir:
Nmero = dxb i
i
i=0
Donde:
La posicin de los dgitos est determinada a partir del punto decimal. Los dgitos que
estn a la izquierda del punto decimal son los valores enteros del nmero y empiezan a
numerarse de 0 a n. Los dgitos que estn a la derecha del punto decimal son los valores
fraccionarios y empiezan a numerase de -1 a n.
Ejemplo
Dado el nmero 201510, comprobar que aplicando la frmula anterior (dnbn + dn-1bn-1 + +
d2b2 + d1b1 + d0b0) se obtiene el mismo nmero.
7
El resultado se obtiene desarrollando los productos y realizando la suma, por tanto:
Ejemplo
Nmero = 1 x 210 + 1 x 29 + 1 x 28 + 1 x 27 + 1 x 26 + 0 x 25 + 0 x 24
+ 1 x 23 + 0 x 22 + 0 x 21 + 0 x 20
Nmero = 1 x 1024 + 1 x 512 + 1 x 256 + 1 x 128 + 1 x 64 + 0 x 32
+ 0 x 16 + 1 x 8 + 0 x 4 + 0 x 2 + 0 x 1
Nmero = 1024 + 512 + 256 + 128 + 64 + 8 = 1992
8
Ejemplo
El completo aritmtico (ar) de un nmero real se refiere a la cantidad que le falta a dicho
nmero para ser igual a una unidad del orden inmediato superior.
ar = rn - |N|
Donde:
n = (ar)r
9
Ejemplo
ar = rn - |N|
c = 103 - |789|
c = 1000 - 789 = 211
ar = 21110
Ejemplo
n = (ar)r
ar = rn - |N|
n = 26 - |111010|
n = 000110
Debido a que los nmeros que se almacenan en complemento son negativos, se puede
afirmar que el nmero en magnitud y signo es:
n = -110
Donde:
Ejemplo
10
c = 1000 - 1 - 789 = 210
ar-1 = 21010
Ejemplo
Bibliografa
11