0% encontró este documento útil (0 votos)
87 vistas4 páginas

Conversión de Números Decimales a Binarios

Este documento describe diferentes sistemas de codificación numérica como la conversión de números decimales a binarios, el formato de punto flotante IEEE 754 de 32 bits, la codificación en ASCII extendido y BCD natural. También explica cómo agregar paridad a los códigos binarios para detectar errores en la transmisión de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
87 vistas4 páginas

Conversión de Números Decimales a Binarios

Este documento describe diferentes sistemas de codificación numérica como la conversión de números decimales a binarios, el formato de punto flotante IEEE 754 de 32 bits, la codificación en ASCII extendido y BCD natural. También explica cómo agregar paridad a los códigos binarios para detectar errores en la transmisión de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

MÓDULO 3

NÚMEROS REALES Y CÓDIGOS

Numero fraccionario decimal a binario: Fácil! pero es más fácil mostrarte que explicarte.

dado 0,6532d empezamos a multiplicar por 2 repetidamente la parte fraccionaria

0,6532*2 = 1,3064

0,3064*2 = 0,6128

0,6128*2 = 1,2256

0,2256*2 = 0,4512

0,4512*2 = 0,9024

0,9024*2 = 1,8048

etc.….. hasta que el resultado de 1,0 o la cantidad de bits a representar, en el ejemplo sería
hasta 1+6 bits decimales → 0,6532d = 0,101001b

Para pasar de binario fraccionario a decimal es igual que normalmente, solo que las posiciones son negativas
de izquierda a derecha ( 2 -n )

10,101001b = 21x1 + 20x0 + 2-1x1 + 2-2x0 + 2-3x1 + 2-4x0 + 2-5x0 + 2-6x1

= 2x1 + 1x0 + 0,5x1 + 0,25x0 + 0,125x1 + 0,0625x0 + 0,03125x0 + 0,015625x1

= 2 + 0 + 0,5 + 0,125 + 0,015625

= 2,640625

Como veras, la parte fraccionaria no es exactamente igual al numero original (0,6532), esto se debe a que la
representación de números en binario es finita, y por lo tanto tiene margen error/aproximación.

PUNTO FIJO con Signo:

Positivos: +SyM,fraccionario

+23,75d → +23 = 010111b 0,75dd = 0,11b → +23,75 = 010111,11b

Negativo: hacemos el Ca2 del positivo

+23,75=010111,11b → luego 010111,11


Ca1 101000,00
+ 1 ← recordá, la 1 suma al digito menor
101000,01 → - 23,75
Punto Flotante (IEEE 754 – Institute of Electrical and Electronics Engineers)

Cuatro formatos:

 32 bits – precisión simple (EL QUE NOS INTERESA)


 64 bits – precisión doble
 >= 43 bits – precisión simple extendida (no muy usada)
 80 bits – precisión doble extendida

32 bits
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

s exponente (8 bits) mantisa (23 bits)

h h h h h h h h
Esta es una plantilla, no es necesaria, solo la hice para que lo veas mejor.

Paso a paso:

1) decimal a binario SyM (sea positivo o negativo), fracción decimal


2) correr la coma tantos lugares (n) como sea necesario de tal forma que quede un numero 1,….
3) el número de lugares (n) que se corrió la coma nos da la notación científica 2 n
4) sumarle a n, 127 (es el sesgo por representación de 8 bits, no importa)
5) el signo es 0 ( + ) o 1 ( - )
6) generamos el código y pasar a Hexadecimal el código binario obtenido.

Ejemplo: +23,6640625d

1) paso el decimal a binario → 010111,1110101 x 20 (notación científica)


2) corro la coma hasta que quede 1,… → 01,01111110101 x 2+4 (el 1 no se usa)
3) 2+4(corrí 4 lugares)
4) calculo el exponente con sesgo 127 → +4 + 127 = 131d = 10000011b
5) signo: 0 (+)
6) lleno la plantilla (o sin plantilla) y paso a hexadecimal

32 bits
31 3 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0

s exponente (8 bits) mantisa (23 bits)


0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
4 1 B D 5 0 0 0
nota: la mantisa se completa con 0 cuando hace falta

Resultado: +23,6640625d = 41BD5000h


A la inversa, es similar:

dado un Código hexadecimal (IEEE 754) pasarlo a decimal, se pasa a binario el código H.

C1233333h

Identificas el signo (0 o 1) que es el primer digito, luego los 8 que le siguen te dan un numero que le
restas 127, que será el exponente de comas a correr a la mantisa. Cambias la base de esta ultima y
pones el signo.

32 bits
31 3 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0

s exponente (8 bits) mantisa (23 bits)


C 1 2 3 3 3 3 3
1 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

1) Identificas el signo: 1 ( - )

2) 10000010b → 130d → 130 - 127 = 3

3) 01000110011001100110011 → agregamos un 1 (acordate del 1 que no se usaba)

1,010,00110011001100110011 → y corremos la coma 3 lugares

1010,00110011001100110011 → pasamos a decimal y es un - 10, 199999809265137 (o casi ,2)

utilidad: https://babbage.cs.qc.cuny.edu/IEEE-754.old/32bit.html
Codificación en ASCII Extendido

Requiere la tablita de códigos ASCII y remplazar cada símbolo por su equivalente Hex

https://theasciicode.com.ar/american-standard-code-information-interchange/ascii-codes-table.png

caracter A G U S T I N A !

cod hex 41 47 55 53 54 49 4E 41 21

AGUSTINA! = 4147555354494E4121

Codificación BCD Natural

es convertir cada cifra en un código de bloques de a cuatro

Ej: 1234d = 0001001000110100b

Codificación con paridad:

se agrega 0 o 1 al final del código binario para indicar si se trata de un código de paridad par o impar

Que sea par o impar depende de cuantos 1 tenga el código

Ejemplo:

1011010001011001 →tiene 8 números 1.

si queremos que:

sea par: agregaos un 0

10110100010110010 → 8 números 1 → es par

sea impar: agregamos un 1

10110100010110011 → 9 números 1 → es impar

Se usa para disminuir errores en trasmisión de datos en comunicaciones. Así, si se espera que llegue
un código paridad par, llega un impar, tiene error y se conoce.

→→→ NOTA: Hacer ejercicios de entrega obligatoria del MODULO 3 ←←←

También podría gustarte