Hola chicos! despues de googlear no encontre un explicacion a mi problema asique decidi elegir esta web para ver si me podian aclarar algo.
Resulta que:
Si tengo una variable de tipo int con el valor 1 en binario seria 00000000000000000000000000000001
porque una variable de tipo int en java tiene 4 bytes por lo que llevaria 4x8=32 bits.
Hasta ahi esta bien, pero si quiero representar en java una variable de tipo int con el valor -1 en binario se tendria que invertir cada 1 por 0 y viceversa y sumo 1 dando como resultado 11111111111111111111111111111111.
Esta bien porque inverti los 0 por 1 y me quedo 11111111111111111111111111111110 pero cuando le sume 1 me quedo 11111111111111111111111111111111 .
Esta perfecto pero mi pregunta es:
Cuando se utilizar el Complemento a 2 y cuando se utilza el complemento a 1?
Alguien me explica la diferencia entre estos dos?
El concepto que yo entiendo es que si alguien me dice converti un numero decimal negativo n en binariro los pasos que sigo son:
1- Lo convierto a binario como si fuese un numero positivo
2- Cambio los 0 por 1 y viscerveza
3- al resultado obtenido anteriormente le sumo 1.
Esta bien esto? Apesar de haber leido la wiki de esto No tengo claro que es Complemento 1 y 2?
Gracias!