29 votos

¿Cómo se produce la división en nuestras computadoras?

¿Cómo se produce la división dentro de las computadoras? ¿Cuál es el algoritmo para él? Ha buscado mucho en google, pero no han conseguido resultados satisfactorios. Proporcione un claro algoritmo/diagrama de flujo para el algoritmo de división con una ilustración de la muestra.

24voto

ckarras Puntos 3330

La división de los algoritmos en diseños digitales se pueden dividir en dos categorías principales. Lento de la división y de rápida división.

Le sugiero que lea sobre cómo binaria de la suma y la resta funciona si usted no está familiarizado con estos conceptos.

Lento División

El más sencillo de los métodos lentos todas funcionan básicamente de la siguiente manera. Tomar el número que se divide (numerador o dividendo) y restar el divisor de ella. Hacer esto de forma recursiva con el resultado de la resta hasta que el resto sea menor que el divisor. Estos restos de cantidad es el resto. La cantidad de iteraciones es el cociente.

Ejemplo:

7/3:

  1. $$7-3=4$$
  2. $$4-3=1$$
  3. $$1 < 3$$

Por lo tanto la respuesta es 2 1 resto. Con el fin de hacer esta respuesta un poco más relevante, aquí hay algunos antecedentes. Binaria resta se realiza a través de la adición de la negativa por ejemplo,: 7 - 3 = 7 + (-3). Esto se logra mediante el uso de dos elogio de los números binarios. Cada número binario se añade por medio de una serie de serpientes llenas:

enter image description here

Donde cada uno de 1 bit full adder se implementa de la siguiente manera:

enter image description here

Rápido División

Mientras que el lento división es fácil de entender, se requiere repetitivo iteraciones. Existe varios "rápida" de los algoritmos, pero todas se basan en la estimación.

Considerar la Goldschmidt método:

Voy a hacer uso de los siguientes: $$Q = \frac{N}{D}$$

Este método funciona de la siguiente manera:

  1. Multiplicar N y D con una fracción F de tal manera que D se acercó 1.
  2. Como D enfoques 1, N se acerca a P

Este método utiliza binaria la multiplicación que se realiza a través del proceso iterativo de adición. También se utiliza en las modernas CPU de AMD.

0voto

bchang Puntos 1327

Equipos no iterativo además para multiplicar a números - sería muy lento. En lugar, hay algunos algoritmos de multiplicación rápida. Echa un vistazo: http://en.wikipedia.org/wiki/Karatsuba_algorithm

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