Ver Mensaje Individual
  #1
Antiguo 12 de abril de 2015, 18:02
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492
Idea Dividir números muy grandes en COBOL
1 Inactivo Inactivo

Todos sabemos que COBOL, no soporta más de 18 dígitos, incluidos los decimales, ¿qué pasa cuando queremos hacer un cálculo para un número grande?, por ejemplo para calcular el DC de una cuenta de un banco, (que son 20 dígitos, 24 con el IBAN), hay una manera muy sencilla de hacerlo, y da lo mismo el tamaño del número que queramos dividir:

  1. Partimos el número en números más pequeños, tantos como necesitemos, por supuesto, los números que sean más grandes que el divisor, si no, nos vamos a hinchar a hacer cálculos.
  2. Dividimos la primera parte entre el DIVISOR y sacamos la PARTE ENTERA del resto.
  3. Ésta parte entera del RESTO, la añadimos al principio de la siguiente parte del número.
  4. Repetimos los puntos 2 y 3, así hasta terminar todas las partes en las que hayamos dividido el número grande (el número original).
  5. Por último, concatenamos cada una de las partes enteras de la división en orden, y la última parte con los decimales incluidos.

* Por ejemplo:

69823657153 dividido entre 97 (69823657153 / 97) = 719831517,041237

- Partimos el número en 2 partes: 698236 y 57153
- Dividimos: 698236 / 97 = 7198,309278 (el mod 97 es 30)
- Añadimos el 30 al principio de la siguiente parte del numero: 3057153
- Dividimos: 3057153 / 97 = 31517,041237
- Concatenamos: 7198 y 31517,041237 = 719831517,041237


Espero que os sirva de algo

Un saludo.-
Josber is offline   Responder Con Cita