2 votos

Desplazamiento aritmético a la derecha: ¿una paradoja?

Así que me pidieron que realizara la sencilla tarea de hacer un desplazamiento aritmético de 3 bits del número 1101 (-3 en notación de complemento a 2). Ahora bien, esto es fácil y va como 1101 -> 1110 -> 1111 -> 1111. Así que el resultado final debería ser 1111 (-1 en notación de complemento a 2).

Sin embargo, también aprendí que desplazar un número p=3 posiciones a la derecha es lo mismo que dividir ese número por 2^p=8. Por lo tanto mi resultado no debería ser 0, ya que -3 dividido por 8 es 0 (con resto -3). ¿Qué me estoy perdiendo en esta aparente paradoja?

11voto

Dan Auclair Puntos 3063

El desplazamiento a la derecha de un número negativo del complemento a dos equivale efectivamente a la división, como usted ha indicado, pero siempre redondeando a la baja (hacia menos infinito). Así que no hay paradoja aquí - división de -1 por 2 da -0.5 que se redondea a la misma -1 .

P.D. El redondeo a la baja también es válido para los números positivos desplazados.

7voto

dwestbrook Puntos 1754

Desplazar a la derecha es dividir por dos y redondear a la baja.

Así, -3 / 2 = -1,5, redondeado a -2. -2 / 2 = -1, redondeado a -1. -1 / 2 = -0,5, redondeado a -1.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X