domingo, 14 de febrero de 2010

Resta de números Hexadecimales!

Complemento C15 [editar]

Podemos hacer la resta de dos números hexadecimales utilizando el complemento a 15. Para ello tendremos que sumar al minuendo el complemento a quince del sustraendo, y finalmente sumarle el bit de overflow (bit que se desborda).

Para entender la resta en complemento a 15 lo analizaremos con un ejemplo. Ésta es la resta que tenemos que resolver: Aunque no estoy muy seguro que digamos, pero algo es algo.

A4FC9
- DE8
—————————
¿?¿?¿?¿?

Primero tenemos que hacer que el minuendo y el sustraendo tengan la misma cantidad de números. Para ello, añadiremos ceros al sustraendo hasta que sean suficientes.

A4FC9
- 00DE8
—————————
¿?¿?¿?¿?

Después, crearemos un nuevo número con la misma cantidad de números que el nuevo sustraendo. Como en el sistema hexadecimal el mayor número que tenemos es el 15, que corresponde a la letra F, tendremos que escribir la F tantas veces como números tiene el sustraendo.

FFFFF
- 00DE8
—————————
FF217

La resta se hace siguiendo las normas generales de la resta común. La diferencia obtenida se denomina el complemento a 15. Recuerda el valor correspondiente a cada letra al operar.

Ahora tendremos que sumar el minuendo y el complemento a 15 utilizando la suma en sistema hexadecimal, mencionada anteriormente.

A4FC9
+ FF217
—————————
1A41E0

Con la suma obtenemos el resultado 1A41E0, pero no es la respuesta final. Te habrás dado cuenta que este nuevo número tiene más cifras que los números iniciales que teníamos que restar. Tenemos que quitar el número de la izquierda (en este caso, el 1) y sumarlo.

A41E0
+ 1
—————————
A41E1

La respuesta es A41E1.

Ten en cuenta que puedes comprobar los resultados utilizando una calculadora científica.
Complemento C16 [editar]

También podemos hacer la resta de dos números hexadecimales utilizando el complemento a 16, siguiendo un proceso similar que en el caso del complemento a 15. Para resolver la resta, tendremos que sumar al minuendo el complemento a dieciséis del sustraendo.

Para entender la resta en complemento a 16 lo analizaremos con el ejemplo anterior. Ésta es la resta que tenemos que resolver:

A4FC9
- DE8
—————————
¿?¿?¿?¿?

Primero tenemos que hacer que el minuendo y el sustraendo tengan la misma cantidad de números, al igual que ocurre en el proceso del complemento a 15.

Para ello, añadiremos ceros al sustraendo hasta que sean suficientes.

A4FC9
- 00DE8
—————————
¿?¿?¿?¿?

Después, crearemos un nuevo número con la misma cantidad de números que el nuevo sustraendo.

Como en el sistema hexadecimal el mayor número que tenemos es el 15, que corresponde a la letra F, tendremos que escribir la F tantas veces como números tiene el sustraendo.

FFFFF
- 00DE8
—————————
FF217

La resta se hace siguiendo las normas generales de la resta común.

Ahora tenemos que sumarle 1 a la diferencia obtenida. Este paso es muy importante, ya que es la diferencia entre hacer la resta en complemento a 15 ó 16, y se suele olvidar fácilmente. Además, recuerda que estás sumando en sistema hexadecimal, siguiendo el mismo proceso explicado anteriormente.

FF217
+ 1
—————————
FF218


A la diferencia obtenida y sumarle uno le denominaremos el complemento a 16.

Ahora tendremos que sumar el minuendo y el complemento a 16

A4FC9
+ FF218
—————————
1A41E1

Con la suma obtenemos el resultado 1A41E1.

Te habrás dado cuenta que este nuevo numero tiene más cifras que los números iniciales que teníamos que restas, cosa imposible en una resta (que la diferencia sea mayor que el minuendo y el sustraendo). Por eso, y estando en complemento a 16, tendremos que despreciar (eliminar) el número de la izquierda. En este caso es el 1.

La respuesta, por lo tanto, es A41E1.

En ambos casos la respuesta obtenida deberá ser la misma, ya que hemos resuelto la misma resta en sistema hexadecimal. Por lo tanto, podremos comprobar que hemos operado bien comparando las respuestas obtenidas en complemento a 15 y en complemento a 16 para una misma resta.

Además, ten en cuenta que puedes comprobar los resultados utilizando una calculadora científica.

2 comentarios: