Download Guía práctica de estudio 06: Lenguaje binario

Document related concepts
no text concepts found
Transcript
Guía práctica de estudio 06:
Lenguaje binario
Elaborado por:
M.C. Edgar E. García Cano
Ing. Jorge A. Solano Gálvez
Revisado por:
Ing. Laura Sandoval Montaño
Guía práctica de estudio 06: Lenguaje
binario
Objetivo:
Realizar diferentes operaciones sobre sistemas numéricos, como son:




Convertir números enteros de sistema decimal (base 10) a base b (cualquier base).
Convertir números enteros de base b (cualquier base) a sistema decimal (base 10).
Convertir números reales de sistema decimal (base 10 a sistema binario (base 2).
Obtener el complemento aritmético de un número en base 10 y base 2.
Introducción
El lenguaje con el que trabaja el procesador de un sistema de cómputo se denomina
lenguaje máquina.
Para efectuar una operación, el procesador necesita una secuencia de señales eléctricas
almacenadas como unos y ceros (sistema binario) en la memoria. Por lo que a este lenguaje
también se le denomina lenguaje binario.
Una y solo una secuencia de estas señales (conjunto de bits) realiza determinada
operación.
De aquí la importancia de saber manipular sistemas numéricos de diferentes bases para
comprender la representación de datos y operaciones de bajo nivel en un sistema de
cómputo.
1
Representación numérica
Un número en base diez puede ser representado de la siguiente manera:
dn dn-1 … d2 d1 d0 . d–1 d–2 … dm–1 dm
Donde, d hace referencia a un número decimal (dígitos de 0 a 9) y n hace referencia a la
posición del número a la izquierda del punto decimal (parte entera) y m hace referencia a
la posición del número a la derecha del punto decimal (parte fraccionaria).
Conversión de números enteros de base diez a base b
Para representar un número entero base 10 a base b, es necesario dividir el número
decimal (dividendo) entre la base (divisor) hasta que el resultado (cociente) sea cero. Los
residuos que se van obteniendo con la división forman el número en base b.
Ejemplo
Convertir el número 199210 a base 2:
Primero se divide el número 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
iteración. Para la segunda iteración 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 número a dividir
fuese 5, el cociente sería 2 y el residuo sería 1. El resultado se obtiene leyendo los residuos
de arriba hacia abajo, es decir:
Por lo tanto, la representación del número 199210 en sistema binario es 111110010002.
NOTA. Los lenguajes de programación poseen una operación llamada módulo que regresa
como resultado el residuo de una división:
3
Es decir, la división de 1992 entre 2 da como resultado 996 (cociente). El módulo de 1992
entre 2 da como resultado 0 (residuo).
Ejemplo
Convertir el número 199210 a base 8:
Primero se divide el número 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
iteración. Para la segunda iteración se divide el cociente obtenido (249) entre la base (8),
esto da como residuo 1 y como cociente 31. En la tercera iteración se divide el cociente
obtenido (31) entre la base (8), esto da como residuo 7 y como cociente 3. En la cuarta
iteración 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 representación del número 199210 en sistema octal (base 8) es 37108.
Ejemplo
Convertir el número 199210 a base 16:
Primero se divide el número 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
iteración. Para la segunda iteración se divide el cociente obtenido (124) entre la base (16),
esto da como residuo 12 y como cociente 7. En la tercera iteración se divide el cociente
obtenido (7) entre la base (16), esto da como residuo 7 y como cociente 0.
5
En el sistema hexadecimal los dígitos 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
Hex
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
A
11
B
12
C
13
D
14
E
15
F
El resultado se obtiene leyendo los residuos de arriba hacia abajo, es decir:
Por lo tanto, la representación del número 199210 en sistema hexadecimal (base 16) es
7C816.
Conversión de números reales de base diez a base b
Para representar un número real base 10 a base b se tiene que hacer dos operaciones
repetitivas. La primera operación consiste en dividir la parte entera del número decimal
(dividendo) entre la base (divisor) hasta que el resultado (cociente) sea cero. La segunda
operación consiste en multiplicar la parte fraccionaria del número (multiplicando) por la
base (multiplicador). Los residuos obtenidos forman el número transformado a la base
específica.
6
Ejemplo
Convertir el número 7.2510 a base 2:
La primera operación consiste en dividir la parte entera del número decimal (dividendo)
entre la base (divisor) hasta que el resultado de la división (cociente) sea cero. El número
se lee de abajo hacia arriba.
La segunda operación consiste en multiplicar la parte fraccionaria del número
(multiplicando) por la base (multiplicador). El número se lee de arriba hacia abajo.
Por lo tanto, la equivalencia del número 7.2510 en binario es 111.012.
Conversión de números reales de base b a base diez
Como ya se mencionó, un número entero en base diez está representado de la siguiente
manera:
dn dn-1 … d2 d1 d0
7
La magnitud de un número está determinada por la sumatoria del dígito multiplicado por
la base elevada a la posición del dígito, es decir:
n
Número =
Σd xb
i
i
i=0
Donde:
Número = El número en base diez.
d = Iésimo dígito de la cantidad a transformar.
b = Base elegida.
i = Posición que inicia en 0 y termina en el número de dígitos menos uno (n).
La posición de los dígitos está determinada a partir del punto decimal. Los dígitos que
están a la izquierda del punto decimal son los valores enteros del número y empiezan a
numerarse de 0 a n. Los dígitos que están a la derecha del punto decimal son los valores
fraccionarios y empiezan a numerase de -1 a –n.
Ejemplo
Dado el número 201510, comprobar que aplicando la fórmula anterior (dnbn + dn-1bn-1 + … +
d2b2 + d1b1 + d0b0) se obtiene el mismo número.
8
El resultado se obtiene desarrollando los productos y realizando la suma, por tanto:
Número = 5 x 100 + 1 x 101 + 0 x 102 + 2 x 103
Número = 5 x 1 + 1 x 10 + 0 x 100 + 2 x 1000
Número = 5 + 10 + 0 + 2000 = 2015
Con el resultado obtenido (número = 2015) se comprueba la fórmula.
Ejemplo
Obtener la equivalencia en sistema decimal del número 111110010002.
9
Número = 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
Número = 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
Número = 1024 + 512 + 256 + 128 + 64 + 8 = 1992
Por lo tanto, 111110010002 = 199210
Ejemplo
Dado el número 0.012, obtener la equivalencia en sistema decimal.
Número = 0 x 20 + 0 x 2-1 + 1 x 2-2
Número = 0 + 0 + 1/4 = 0.25
Por lo tanto 0.012 es igual a 0.2510.
10
Complemento aritmético
El completo aritmético (ar) de un número real se refiere a la cantidad que le falta a dicho
número para ser igual a una unidad del orden inmediato superior.
El complemento aritmético ar (o complemento a la base) de un número real se obtiene a
partir de la siguiente fórmula:
ar = rn - |N|
Donde:
ar: complemento aritmético de un número real base r.
r: es la base del número.
n: número de dígitos de la parte entera del número.
N: el número dado.
El complemento aritmético de un número dado en complemento da como resultado el
número original:
n = (ar)r
Se pueden dar varios usos al complemento aritmético de un número, el principal es el que
le da un equipo de cómputo. Un número negativo se guarda en complemento en la
máquina porque permite ingresar un número más dentro de la memoria.
11
Ejemplo
Dado el número 78910, obtener su complemento aritmético a la base ar (Complemento a10).
ar = rn - |N|
c = 103 - |789|
c = 1000 - 789 = 211
ar = 21110
Ejemplo
Dado complemento aritmético 1110102, obtener el número en magnitud y signo.
n = (ar)r
ar = rn - |N|
n = 26 - |111010|
n = 000110
Debido a que los números que se almacenan en complemento son negativos, se puede
afirmar que el número en magnitud y signo es:
n = -110
12
Complemento aritmético menos uno
El complemento aritmético menos uno (ar-1 o complemento a la base disminuida) de un
número real se calcula con base en la siguiente fórmula:
ar-1 = rn - r-m - |N|
Donde:
ar-1: complemento aritmético de un número real base r.
r: es la base del número.
n: número de dígitos de la parte entera del número.
m: número de dígitos de la parte fraccionaria del núm.
N: el número dado.
Ejemplo
Dado el número 78910, obtener su complemento aritmético a la base ar-1 (Complemento
a10-1).
ar-1 = rn - r-m - |n|
c = 103 - 10-0 - |789|
c = 1000 - 1 - 789 = 210
ar-1 = 21010
13
Ejemplo
Dado el número 1001.012, obtener su complemento aritmético a la base ar-1 (Complemento
a2-1).
ar-1 = rn - r-m - |n|
c = 24 - 2-2 - |1001.01|
c = 10000 - 0.01 - 1001.01
c = 10000.0 - 1001.1
c = 00110.1
ar-1 = 110.12
14