jueves, 5 de marzo de 2009

PROBLEMAS RESUELTOS SOBRE NUMERACIÓN BINARIA ( II )

PROBLEMA: Una microcomputadora tiene una capacidad de 16 bits. ¿Cuál es el número más grande que se puede representar bajo esta capacidad en la misma:
A) usando el sistema binario, y
B) usando el sistema BCD? Comparar la diferencia entre ambos casos.

A) Usando el sistema binario, el número más grande que se puede representar con 16 bits es:

1111111111111111

Este número binario equivale al número decimal:

216 - 1 = 65,536 -1

= 65,535

B) Usando el sistema BCD, el número más grande que se puede representar con 16 bits es:

1001__1001__1001__1001

9_____9_____9_____9

o sea, el número 9,999.

Al usar el sistema BCD en lugar del sistema binario, tenemos una diferencia de 65,535-9,999 = 55,536. En otros tiempos en los que los costos para representar cada dígito se medía en términos de bulbos electrónicos y relevadores electromecánicos en lugar de las decenas de miles de transistores microminiaturizados que tenemos en la actualidad, esto se consideraba una pérdida lastimosa de capacidad. De cualquier modo, en nuestros tiempos existen muchas situaciones en las cuales el uso del sistema BCD es una necesidad para proporcionar información más "humana" que sea entendible para la gente ordinaria, ya sea en los relojes digitales, en las carátulas digitales en los hornos de microondas, y en los multímetros digitales que usan los técnicos para medir voltajes y corrientes eléctricas. En estas situaciones, el uso de información binaria pura sería casi indescifrable para los humanos, aunque sea el "lenguaje natural" de la electrónica digital.


PROBLEMA: Convertir el número binario .10101 a su equivalente en sistema decimal.

Usando la tabla de equivalencias descrita en el texto, tenemos que:

.10101 = .10000 + .00100 + .00001

.10101 = 1/2 + 1/8 + 1/32

.10101 = .5 + 125 + .03125

.101012 = .6562510

Pero podemos obtener el mismo resultado de la otra manera alterna, la cual consiste en expresar el número binario como una fracción de dos binarios enteros tras lo cual convertimos tanto el numerador como el denominador a su equivalente decimal para así llevar a cabo finalmente la división:

.10101 = 10101/100000

.10101 = (10000 + 100 + 1)/100000

.10101 = (16 + 4 + 1)/32

.10101 = 21/32

.101012 = .6562510

confirmando así el resultado obtenido previamente.


PROBLEMA: Convertir el número 110.011 del sistema binario al sistema decimal.

Para convertir este número binario "mixto" que tiene una parte entera y una parte fraccional, basta con darle a cada "1" binario el valor que le corresponde:

110.011 = 100 + 10 + .01 + .001

110.011 = 4 + 2 + 1/10 + 1/100

110.011 = 4 + 2 + 1/4 + 1/8

110.011 = 6 + .25 + .125

110.0112 = 6.37510

En la forma alterna de solución, expresamos el número como una fracción de dos binarios enteros tras lo cual convertimos tanto el numerador como el denominador a su equivalente decimal llevando a cabo la división:

110.011 = 110011/1000 = (100000 + 10000 + 10 + 11)/1000

110011 = (32 +16 + 2 + 1)/8

110011 = 51/8

1100112 = 6.37510

confirmando así el resultado obtenido previamente.


PROBLEMA: Convertir las siguientes fracciones binarias a su equivalente decimal, expresando los resultados como números racionales (el cociente de dos números enteros):

a) .011
b) .111
c) .1001
d) .1101
e) .10001
f) .11001

a) Usando la tabla de equivalencias, y procediendo de la misma forma en todos los casos:

.011 = .01 + .001 = 1/4 + 1/8 = 2/8 + 1/8 = 3/8

b)
.111 = .1 + .01 + .001 = 1/2 + 1/4 + 1/8 = 4/8 + 2/8 + 1/8 = 7/8

c)
.1001 = .1 + .0001 = 1/2 + 1/16 = 8/16 + 1/16 = 9/16

d)
.1101 = .1 + .01 + .0001 = 1/2 + 1/4 + 1/16 = 8/16 + 4/16 + 1/16 = 13/16

e)
.10001 = .1 + .00001 = 1/2 + 1/32 = 16/32 + 1/32 = 17/32

f)
.11001 = .1 + .01 + .00001 = 1/2 + 1/4 + 1/32 = 16/32 + 8/32 + 1/32 = 25/32


PROBLEMA: Representar los siguientes números decimales en su equivalente binario, redondeando en donde sea necesario a tres cifras significativas.

a) 2/3
b) 1/5
c) 15/16

a) Primero llevamos a cabo la división para convertir el número expresado en forma de quebrado a su forma decimal:

2/3 = .6666666666...

A continuación redondeamos este resultado a tres cifras significativas:

2/3 = .667

Para encontrar el equivalente binario de esta fracción decimal, podemos llevar a cabo una secuencia de substracciones sucesivas consultando la tabla de equivalencias, lo cual nos produce la siguiente serie de pasos:

.667 - .5 = .167 (Un dígito del equivalente binario será .5 = 1/2 = .10000)

.167 - .125 = .042 (Un dígito del equivalente binario será .125 = .00100)

.042 - .03125 = .01075 (Un dígito del equivalente binario será .03125 = .00001)

Analicemos bien lo que se acaba de realizar: consultando la tabla de equivalencias encontramos que el número decimal fraccionario que se corresponde directamente con un equivalente binario exacto que sea el más grande de todos ellos sin exceder al número decimal .667 es el número .5 que equivale al .1 binario. Anotando esto como resultado parcial y tras llevar a cabo la resta del número decimal .5 del número .667, nos queda el número .167, con lo cual consultamos de nuevo la tabla de equivalencias para encontrar el número decimal fraccionario que se corresponde directamente con un equivalente binario exacto que sea el más grande de todos ellos sin exceder al número decimal .167, que resulta ser el número .125 que equivale al .001 binario, anotando esto como resultado parcial. La respuesta estará dada por la suma de los resultados parciales. Este proceso puede ser repetido mecánicamente cuantas veces queramos, aproximando cada vez con mayor precisión al número decimal fraccionario original.

Así, la respuesta (aproximada) es:

.10000 + .00100 + .00001 = .10101

b) 1/5 = .20

.2 - .125 = .075 (Un dígito del equivalente binario será .125 = .00100)

.075 - .0625 = .0125 (Un dígito del equivalente binario será .00010)

Puesto que .03125 excede a .0125, no podemos restarlo de .0125, con lo cual sabemos que el siguiente dígito significativo en el acumulamiento de los resultados parciales deberá ser un "0". Entonces la respuesta (aproximada) debe ser:

.00100 + .00010 + .00000 = .00110

c) 15/16 = .938 (redondeado a tres cifras significativas)

.938 - .5 = .438 (Un dígito del equivalente binario será .5 = 1/2 = .10000)

.438 - .25 = .188 (Un dígito del equivalente binario será .25 = .01000)

.188 - .125 = .063 (Un dígito del equivalente binario será .125 = .00100)

.063 - .0625 = .0005 (Un dígito del equivalente binario será .0625 = .00010)

La respuesta aproximada es entonces:

.100000 + .01000 + .00100 + .00010 = .11110


PROBLEMA: Convertir los siguientes símbolos binarios a su representación octal.

a) 10110
b) 11110
c) 11011
d) 110011
e) 111000
f) 100011
g) 11110000
h) 11001100
i) 10101010

El procedimiento de solución es directo, consistente en separar los números binarios en grupos de tres haciéndolo de derecha a izquierda:

a) 10110 = 10 110 = 26
b) 11110 = 11 110 = 36
c) 11011 = 11 011 = 33
d) 110011 = 110 011 = 63
e) 111000 = 111 000 = 70
f) 100011 = 100 011 = 43
g) 11110000 = 11 110 000 = 360
h) 11001100 = 11 001 100 = 314
i) 10101010 = 10 101 010 = 252


PROBLEMA: Multiplicar los números octales 56 y 45, sin salir para nada del sistema octal.

Para poder llevar a cabo la multiplicación en el sistema octal, en el cual no existe un símbolo para nuestro número "8", resulta conveniente construír una "tabla de multiplicación" octal, la cual se puede construír fácilmente listando en conteo ascendente todos los números octales desde el uno en adelante, y tras ello ir saltando en dicha lista de dos en dos una vez, de dos en dos tres veces, de dos en dos cuatro veces, de dos en dos cinco veces, y así sucesivamente; y tras esto de tres en tres una vez, de tres en tres dos veces, de tres en tres tres veces, de tres en tres cuatro veces, y así sucesivamente, para ir llenando los casilleros de la tabla de multiplicación de dos por dos, dos por tres, dos por cuatro, etc., tres por dos, tres por tres, tres por cuatro, etc., y así sucesivamente, hasta tener la tabla completa, la cual resulta ser:



Con la tabla de multiplicación octal a la mano, y teniendo siempre en mente la manera en la cual se debe llevar a cabo una suma octal, tomando el número menor (45) como el multiplicador y el número mayor (56) como el multiplicando tal y como se acostumbra en la multiplicación usual, el procedimiento de la operación es el siguiente:




PROBLEMA: Convertir los siguientes números hexadecimales a sus equivalentes en sistema octal.

a) 3A7h
b) 41FBh
c) 7C2Eh
d) D589Ah
e) B0Ce5h
f) 6FF23h

Posiblemente la forma más rápida de llevar a cabo la conversión consiste en convertir directamente cada número hexadecimal a su equivalente binario (base-2) y tras esto reagrupar los dígitos binarios en grupos de tres en tres (de derecha a izquierda) llevando a cabo tras esto la conversión de cada grupo a sistema octal.

a) 3A7h = 0011 1010 01112 = 001 110 100 111 = 16478

b) 41FBh = 0100 0001 1111 10112 = 0 100 000 111 111 011 = 407738

c) 7C2Eh = 0111 1100 0010 11102 = 0 111 110 000 101 110 = 760568

d) D589Ah = 1101 0101 1000 1001 10102 = 11 010 101 100 010 011 010 = 32542328

e) B0CE5h = 1011 0000 1100 1110 01012 = 10 110 000 110 011 100 101 = 26063458

f) 6FF23h = 0110 1111 1111 0010 00112 = 01 101 111 111 100 100 011 = 15774438

1 comentario:

ESCRIBE AQUI TUS COMENTARIOS Y DEJA TAMBIEN TUS DUDAS E INTERESES QUE TE CONTESTARÉ A LA MAYOR BREVEDAD POSIBLE. SI TE INTERESA CUALQUIER OTRO TEMA PREGUNTAMELO QUE TE AYUDARÉ .