}

Sumas en sistema binario

1989/10/01 Arrojeria, Eustakio - Elhuyar Zientziaren Komunikazioa | Lizaso, Pili - Informatika SailaElhuyar Fundazioa Iturria: Elhuyar aldizkaria

Después de ver las conversiones entre bases en sistemas de numeración (ELHUYAR. Hemos visto la Ciencia y la Técnica en el número 27) y para entender lo que supone trabajar en el sistema binario, en esta ocasión os proponemos: Suma de los números en la base 2 o sistema binario.

Quizás lo primero que se os ocurra es pasar los números a la base 10, realizar la suma en el sistema decimal y después pasar el resultado a la base 2, pero aunque el resultado obtenido sea el correcto, esta no sería la vía más correcta. Las sumas se pueden realizar también en el sistema binario y es lo que os pedimos aquí.

A la hora de realizar las sumas en el sistema decimal, poner todos los primeros números a la par, es decir, los primeros a la altura de los unos, los decimales a la par de los diez, etc. y después empezamos a realizar la suma por la columna de la derecha, guardando un número para la cabeza (para la columna siguiente) cada vez que pasemos por diez.

En el sistema binario hay que hacer algo parecido. Eso sí, cada vez que pasemos de dos en este sistema deberemos guardar uno más para la cabeza.

Veamos un ejemplo:

Supongamos que tenemos 4 sumandos de 6 dígitos. La suma sería:


Partes del programa:

  • 10-110: Se selecciona el número de dígitos de los sumarios (N1) y el número de sumandos (N2). De esta forma el usuario definirá la dificultad de la suma.
  • 120 a 180: Se extraen aleatoriamente N2 números binarios formados por N1 dígitos.
  • 190-360: Se realiza la suma dejando el resultado en la variable SUMA$. La suma comenzará por la columna derecha (200). A la hora de unir una columna, habrá que tener en cuenta si hay algo primero para la cabeza (210). Dado que una vez calculada la suma de cada columna, la que se debe guardar para el resultado general puede ser Ø o 1, se deberá utilizar la función MOD 2 (240). Cada vez que pase de Bit (o de Ø) se añadirá 1 a la llevada. La adición de 1 a un número binario supone que, comenzando por la derecha, el 1 sustituya Øaz por 1 cuando se encuentra primero Ø (260-310).J. Se añadirá al resultado obtenido en la columna “Ø” o “1” hora (340). Si después de unir la columna J (izquierda) hay algo para la cabeza, habrá que añadir a la cadena de suma por la izquierda (360).
  • 370-410: Presentación de la suma en pantalla.
  • 420-480: Guardar lo introducido hasta que el usuario pulse <RETURN> en la variable SAR$.
  • 500-570: Verificación del resultado introducido.
  • 580-630: Posibilidad de continuar o salir del programa.

Gai honi buruzko eduki gehiago

Elhuyarrek garatutako teknologia