Autor Tema: Complemento a dos, diferentes métodos de conversión.

0 Usuarios y 1 Visitante están viendo este tema.

11 Agosto, 2017, 05:54 am
Leído 1646 veces

dresuer

  • Novato
  • Mensajes: 112
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
Hola, voy directo.

Sé como convertir un número a negativo usando la rápida conversión de [texx]C_{N}^{2}[/texx]  (complemento a dos (explicado en wiki) y también utilizando la fórmula [texx]2^n-N[/texx].
Pero fallo al querer convertir el mismo número usando complemento a 1 para luego sumar 1 con el objetivo de llegar al mismo resultado que usando la conversión rápida y la fórmula (esto pasa sólo cuando agrego más ceros al numero).

Por ejemplo:

45 (010011), a través de la fórmula de comp a dos es 010011 (-45)
Ahora tenemos un problema, en este ejemplo se trabajo con número de bits a 6, entonces es lo mismo 19 que -45 (en binario), para solucionar esto vamos a agregar más ceros a 45 para que nos de otra representación (está mejor explicado en wiki):

45 expresado en 8 bits:
00010011
Si utilizamos la fórmula llegaremos a 11010011 (-45)

Pero si uso complemento a uno y sumo 1, no llego a lo mismo. ¿Por qué? (complemento a uno es hacer la negación de todos los bits solamente)

[texx]C_{N}^{1}[/texx](00010011) =

11101100
00000001 +
-----------
11101101 [texx]\not =[/texx] 11010011,  ¿por qué?

¿Será que no se puede usar así el [texx]C_{N}^{1}[/texx]?

Saludos

11 Agosto, 2017, 02:00 pm
Respuesta #1

Ignacio Larrosa

  • Moderador Global
  • Mensajes: 2,270
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
    • Actividades con GeoGebra
Hola, voy directo.

Sé como convertir un número a negativo usando la rápida conversión de [texx]C_{N}^{2}[/texx]  (complemento a dos (explicado en wiki) y también utilizando la fórmula [texx]2^n-N[/texx].
Pero fallo al querer convertir el mismo número usando complemento a 1 para luego sumar 1 con el objetivo de llegar al mismo resultado que usando la conversión rápida y la fórmula (esto pasa sólo cuando agrego más ceros al numero).

Por ejemplo:

45 (010011), a través de la fórmula de comp a dos es 010011 (-45)

Pero, ahí te has confundido, \( 45_{10} = 101101_2 \)

Ahora tenemos un problema, en este ejemplo se trabajo con número de bits a 6, entonces es lo mismo 19 que -45 (en binario), para solucionar esto vamos a agregar más ceros a 45 para que nos de otra representación (está mejor explicado en wiki):

45 expresado en 8 bits:
00010011

00101101

Si utilizamos la fórmula llegaremos a 11010011 (-45)

Pero si uso complemento a uno y sumo 1, no llego a lo mismo. ¿Por qué? (complemento a uno es hacer la negación de todos los bits solamente)

[texx]C_{N}^{1}[/texx](00010011) =

11101100
00000001 +
-----------
11101101 [texx]\not =[/texx] 11010011,  ¿por qué?

[texx]C_{8}^{1}[/texx](00101101) = 11010010

Añadiéndole 1 llegas a lo mismo 11010011

Tu problema es que te liaste con la representación de \( 45\textrm{ en base }2 \).

Saludos,
Daría todo lo que se por la mitad de lo que ignoro (R. Descartes)
O incluso por muchísimo menos ...  (yo)