Cómo escribir un algoritmo que agrega números

En realidad todo sucede en binario. Las computadoras y dispositivos realizan esta adición binaria de manera eficiente utilizando la Unidad Aritmética y Lógica.

Si la adición de dos números se realiza en un programa de forma manual (sin ningún uso de la funcionalidad de suma), tenemos que hacer uso del concepto de circuito lógico (especialmente sumador completo).

Para sumador completo:

  1. digamos que A y B son dos bits 1 o 0.
  2. digamos que Cin es una carga de entrada; un acarreo inicial
  3. suma (S) = A xor B xor Cin
  4. Llevar a cabo (Cout) = (A y B) + (Cin. (A xor B))

Dónde ‘.’ es lógico ” y ” y ‘+’ es lógico ‘ o ‘.

Ahora, el algoritmo más simple para la adición es Ripple Adder que utiliza con precisión el concepto de sumador completo como se mencionó anteriormente.

El algoritmo (vagamente) es:

  1. Entrada: A, B y Cin; A y B son equivalentes binarios de decimales
  2. Inicialmente Cin = 0
  3. A es una secuencia de bit: An-1, An-2, … A0
  4. B es: Bn-1, Bn-2, … B0
  5. iterar por ‘n’ veces:
    1. Sn, Cn = FullAdder (An-1, Bn-1, Cn-1)
  6. La salida final es la secuencia Sn junto con el Carry Cn final

El algoritmo que he escrito puede ser vago, pero básicamente Ripple Adders es el método de adición más simple. Y hay mucha optimización para esto.