Tecnología

Inicio

Cómo dividir enteros con desplazamientos de bit

turnos de bits ofrecen un método para realizar rápidamente a ciertas operaciones matemáticas, tales como la multiplicación y la división, en números binarios. Este tipo de matemáticas de nivel bajo acelera significativamente la ejecución de los programas, ya que evita las operaciones matemáticas de alto nivel. Use un desplazamiento a la derecha bit para dividir un número entero por una potencia de dos, sin necesidad de una calculadora o una mente matemática.

Instrucciones

1 Expresar el dividendo (el número que se está dividiendo) en forma binaria. El número resultante consiste en una serie de unos y ceros. Deje que el número de bits sea B.

2 Determinar la potencia de dos que representa el divisor. (Por ejemplo, 4 es 2 a la segunda potencia y 16 es 2 a la cuarta potencia.) Sea n este número.

3 Iniciar un nuevo número binario, la escritura de izquierda a derecha, con N ceros. Después de que los ceros, copiar los bits del dividendo hasta que el nuevo número tiene el mismo número de bits como el dividendo. Si N es mayor que o igual al número de bits en el dividendo, simplemente escribir ceros B.

4 No haga caso de los últimos N bits del dividendo, ya que la división (o desplazamiento) elimina estos bits. El resultado es un número binario con el mismo número de bits como el dividendo.

5 Convertir el resultado de nuevo a la forma original. Si el dividendo original estaba en la base 10, por ejemplo, a continuación, convertir de nuevo a la base 10.

Consejos y advertencias

  • La división entera usando un desplazamiento de bits sólo funciona cuando el divisor es una potencia de dos, tales como 2, 4, 8, 16 y 32.
  • Los ordenadores no la conversión entre sistemas de numeración de base; que operan exclusivamente en binario. La conversión entre sistemas de numeración de base es para el beneficio de los usuarios de computadoras.
  • El tipo de división sencilla descrito aquí implica sólo enteros, por lo que el resultado es un número entero con cualquier resto desechado.