12
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 binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

  • Upload
    lequynh

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Guía práctica de estudio 06: Lenguaje binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

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

Page 2: Guía práctica de estudio 06: Lenguaje binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

1

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.

Page 3: Guía práctica de estudio 06: Lenguaje binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

2

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 dígito 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.

Page 4: Guía práctica de estudio 06: Lenguaje binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

3

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.

Page 5: Guía práctica de estudio 06: Lenguaje binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

4

NOTA. Los lenguajes de programación poseen una operación llamada módulo que regresa

como resultado el residuo de una división:

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.

Page 6: Guía práctica de estudio 06: Lenguaje binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

5

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.

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

Page 7: Guía práctica de estudio 06: Lenguaje binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

6

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.

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.

Page 8: Guía práctica de estudio 06: Lenguaje binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

7

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

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 = Σ di x bi

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.

Page 9: Guía práctica de estudio 06: Lenguaje binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

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.

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

Page 10: Guía práctica de estudio 06: Lenguaje binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

9

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.

Complemento aritmético a la base 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.

Page 11: Guía práctica de estudio 06: Lenguaje binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

10

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

Complemento aritmético a la base disminuida (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|

Page 12: Guía práctica de estudio 06: Lenguaje binarioodin.fi-b.unam.mx/salac/practicasFP/fp_p6.pdf · la posición del número a la derecha del punto decimal ... Convertir el número 1992

11

c = 1000 - 1 - 789 = 210 ar-1 = 21010

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

Bibliografía

Organización de computadoras, un enfoque estructurado. Andrew S. Tanenbaum,

cuarta edición, Prentice Hall, México 2000.

Matemáticas para la computación. José A. Jiménez Murillo, primera edición,

Alfaomega, México 2008.