Foros de matemática
10/12/2017, 09:13:24 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: Homenaje a aladan
 
 
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Complemento a dos, diferentes métodos de conversión.  (Leído 224 veces)
0 Usuarios y 1 Visitante están viendo este tema.
dresuer
Semi pleno
***

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 65


BOOOOOOM


Ver Perfil
« : 11/08/2017, 12:54:12 am »

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
En línea
Ignacio Larrosa
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 1.701


Ver Perfil WWW
« Respuesta #1 : 11/08/2017, 09:00:07 am »

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, [texx]45_{10} = 101101_2[/texx]

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 [texx]45\textrm{ en base }2[/texx].

Saludos,
En línea

Daría todo lo que se por la mitad de lo que ignoro (R. Descartes)
O incluso por mucho menos ...
Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.1 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!