Complemento de hexadecimal de dos

6

¿Cómo puedo encontrar el complemento de dos para el hex F3A1?

Primero convertí el número a binario 1111 0011 1010 0001 y luego encontré el complemento de dos 0000 1100 0101 1111 como resultado 0C5F que difiere de la respuesta en el libro: 0A57

¿Qué estoy haciendo mal?

    
pregunta Jorge Zapata

3 respuestas

2

Voltear 1 a 0 y 0 a 1 (es decir, complemento regular). Luego agrega 1.

Lo que estás haciendo mal es tener demasiada fe en un libro.

Pero, en el lado positivo, al menos es un tipo de libro técnico que probablemente sea correcto en su mayoría.

    
respondido por el Kaz
9

Si estás un poco familiarizado con hex, no necesitas convertir a binario. Simplemente tome el complemento de base 16 de cada dígito y agregue 1 al resultado. Entonces:
F - F = 0
F - 3 = C
F - A = 5
F - 1 = E

Entonces obtienes 0C5E. Agregue 1 y aquí está su resultado: 0C5F.

    
respondido por el Johan.A
0

para un enfoque más rápido, también puede pasar los bits que quedan al primer bit de primer ajuste y descubrir el complemento 2s (en lugar de encontrar 1ns y luego agregar 1)

1111 0011 1010 000 1 alterna los bits que quedan para establecer el primer bit
0000 1100 0101 111 1

espero que te guste esto si el patrón de bits se cambia a binario que a hexadecimal :)

    
respondido por el kakeh

Lea otras preguntas en las etiquetas