Está en la página 1de 6

Números reales y códigos – Ejercicios resueltos de ejemplo

1. NÚMEROS REALES
1.1. Binarios punto fijo

Decimal a Binario sin signo de 10 bits (5 bits fraccionarios)

o Número = 3,3d
o Paso 1) Parte entera = 3d = 11b pero como son 5 bits enteros será 00011b
o Paso 2) Parte fraccionaria = 0,3d = 0,01001b
o 0,3 * 2 = 0,6
o 0,6 * 2 = 1,2
o 0,2 * 2 = 0,4
o 0,4 * 2 = 0,8
o 0,8 * 2 = 1,6 como son 4 bits fraccionarios, no sigo multiplicando
o Paso 3) unir parte entera y la fraccionaria
o 3,3d = 00011,01001b

Decimal a Binario con signo de 2 bytes (3 bits fraccionarios)

o Número = -371,411d
o Primero obtendremos el +371,411d y luego haremos su Ca2 para obtener el negativo
o Paso 1) Parte entera = +371d = 0101110011b pero como son 13 bits enteros (2 bytes =
16 bits menos 3 bits fraccionarios = 13 bits enteros) será 0000101110011b
o Paso 2) Parte fraccionaria = 0,411d = 0,011b
o 0,411 * 2 = 0,822
o 0,822 * 2 = 1,644
o 0,644 * 2 = 1,288 como son 3 bits fraccionarios, no sigo multiplicando
o Paso 3) unir parte entera y fraccionaria
o +371,411d = 0000101110011,011b
o Paso 4) Realizamos el Ca2. Primeramente, el Ca1 de 0000101110011,011b
o 0000101110011,011b
o Ca1 = 1111010001100,100b
o Sumamos 1 en el LSB
o 1111010001100,100b
o + 1b
o 1111010001100,101b este es el binario negativo buscado

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 1


o -371,411d = 1111010001100,101b

Binario a Decimal sin signo

o Número = 10,011b
o Realizamos el cambio de base
o 10,011b = 1 * 21 + 0 * 20 + 0 * 2-1 + 1 * 2-2 + 1 * 2-3
o = 1 * 2 + 0 * 1 + 0 * 0,5 + 1 * 0,25 + 1 * 0,125
o = 2 + 0 + 0 + 0,25 + 0,125
o = 2,375d
o 10,011b = 2,375d

Binario a Decimal con signo

o Número = 0111,01b
o Como el MSB = 0, el número es positivo
o Realizamos el cambio de base (podemos no considerar el cero del signo)
o 111,01b = 1 * 22 + 1 * 21 + 1 * 20 + 0 * 2-1 + 1 * 2-2
o = 1 * 4 + 1 * 2 + 1 * 1 + 0 * 0,5 + 1 * 0,25
o = 4 + 2 + 1 + 0 + 0,25
o = 7,25d
o 0111,01b = +7,25d

o Número = 100101,101b
o Paso 1) Como el MSB = 1, el número es negativo, haremos el Ca2 para obtener su valor
positivo
o Ca2 de 100101,101b
o Ca1 = 011010,010 b
o + 1b
o Ca2 = 011010,011b
o Paso 2) Determino el valor del binario obtenido
o 011010,011b = 1 * 24 + 1 * 23 + 0 * 22 + 1 * 21 + 0 * 20 + 0 * 2-1 + 1 * 2-2 + 1 * 2-3
o = 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 0 * 0,5 + 1 * 0,25+ 1 * 0,125
o = 16 + 8 + 0 + 2 + 0 + 0 + 0,25+ 0,125
o = +26,375d
o Paso 3) Obtenido el valor positivo, cambiaremos el signo y obtendremos el resultado

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 2


final
o 100101,101b = –26,375d

Decimal a Binarios punto flotante. Expresar el resultado en Hexadecimal

o Número = -7,625d
o Paso 1) Pasaje a binario del número decimal
o Parte entera = -7d = -111b
o Parte fraccionaria = 0,625d = 0,10110001b
▪ 0,625 * 2 = 1,25
▪ 0,25 * 2 = 0, 5
▪ 0,5 * 2 = 1,0 no se sigue más
o -7,625d = -111,101b * 20
o Paso 2) Normalizar el número binario obtenido
o -111,101b * 20 = -1,11101b * 22 corrí la coma dos lugares a la derecha
o Paso 3) Calcular el exponente con sesgo 127 en binario
o 2d + 127d = 129d = 10000001b
o Paso 4) Completar el formato IEEE Precisión Simple
o Signo de la mantisa = “-“ → 1
o Mantisa = 11101000000000000000000b (de ser necesario se completa con ceros
hasta obtener los 23 bits)
o Exponente = 10000010b
o Paso 5) Podemos expresarlo binario
o 11000000111101000000000000000000b
o Paso 6) Podemos expresarlo en hexadecimal
o 11000000111101000000000000000000b = C0F40000h

Binarios punto flotante (en Hexadecimal) a Decimal

o Número = C2300000d
o Paso 1) Obtenemos el número binario a partir del hexadecimal
o 11000010001100000000000000000000b
o Paso 2) Identificamos signo de mantisa, exponente y mantisa
o Signo de la mantisa → b31 = 1 → “-” negativo
o Exponente = 10000100b
o Mantisa = 01100000000000000000000
o Paso 3) Tomamos el binario del exponente y le quitamos el sesgo de 127

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 3


o 10000100b = 132d – 127d = +5d
o Paso 4) Colocamos la mantisa luego del “1,”
o 1, 0011b (descartamos los ceros a la derecha)
o Paso 5) Armamos el número binario normalizado
o -1, 011b * 2+5
o Paso 6) Desnormalizamos
o -101100b * 20
o Paso 7) Calculamos el decimal a partir del binario (solo tomaremos los “1”)
o -100110b = - (1 * 25 + 1 * 23 + 1 * 22)
o = - (32 + 8 + 4)
o = -44d
o Finalmente:
o C2300000h = -44d

2. CÓDIGOS
2.1. ASCII Extendido

Codificar “Artículo@” en ASCII Extendido

• Obtenemos el hexadecimal de cada caracter


o A = 41h
o r = 72h
o t = 74h
o í = A1h
o c = 63h
o u = 75h
o l = 6Ch
o o = 6Fh
o @ = 40h
• Concatenamos todo
o 417274A163756C6F40h
2.2. BCD

Convertir a BCD el número 372d

• Se reemplaza cada cifra decimal por su equivalente binario BCD de 4 bits


o 3d = 0011b

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 4


o 7d = 0111b
o 2d = 0010b
• Concatenamos todo
o 001101110010BCD
2.3. Paridad

Realizar un código binario Exceso de 3 de paridad par

• Tomamos el código binario Exceso de 3

Exceso 3
Decimal D C B A
0 0 0 1 1
1 0 1 0 0
2 0 1 0 1
3 0 1 1 0
4 0 1 1 1
5 1 0 0 0
6 1 0 0 1
7 1 0 1 0
8 1 0 1 1
9 1 1 0 0

• Agregamos el bit de paridad para que cada combinación sea de la paridad pedida P

Exceso 3
Decimal P D C B A
0 0 0 0 1 1
1 1 0 1 0 0
2 0 0 1 0 1
3 0 0 1 1 0
4 1 0 1 1 1
5 1 1 0 0 0
6 0 1 0 0 1
7 0 1 0 1 0
8 1 1 0 1 1
9 0 1 1 0 0

• El código buscado es el siguiente

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 5


Decimal E D C B A
0 0 0 0 1 1
1 1 0 1 0 0
2 0 0 1 0 1
3 0 0 1 1 0
4 1 0 1 1 1
5 1 1 0 0 0
6 0 1 0 0 1
7 0 1 0 1 0
8 1 1 0 1 1
9 0 1 1 0 0

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 6

También podría gustarte