IBAN controle op groot rekeningnummer

Het IBAN bankrekeningnummer bevat twee cijfers als controlegetal, dat d.m.v. een modulo 97 berekening kan worden gecontroleerd. Het getal waarover deze berekening plaatsvindt is echter zo groot, dat dit niet in een standaard data type past.

Met de volgende strategie kan het nummer gesplitst worden, zodat de modulo-berekening gewoon kan worden uitgevoerd:

     Deel het nummer op in kleinere nummers en bereken de modolo van deze kleinere nummers.
     Voeg dit resultaat toe en herhaal het proces totdat er geen modulo-resultaat wordt gevonden.

Stel dat je de volgende berekening moet uitvoeren nBig % a:

     Neem een hanteerbaar gedeelte (stel x) van het grote getal (nBig) and trek dit af van nBig (nBig = nBig - x).
     Bereken de mod van x (mod = x % a).
     Voeg dit eindresultaat toe aan nBig (nBig = nBig + mod).

Op deze manier wordt het grote getal kleiner gemaakt, zonder het resultaat van het uiteindelijke antwoord te beinvloeden. Eerst geef ik een voorbeeld met een klein nummer, om de logica te begrijpen.

Neem bijvoorbeeld 27 % 8:

     x = 17.
     nBig = nBig - x = 27-17 = 10.
     mod = x % a = 17 % 8 = 1
     nBig = nBig + mod = 10 + 1 = 11

nBig is verkleind van 27 naar 11 zonder het eindresultaat te beinvloeden, in dit geval 3.
Zie ook: IBAN controle een praktijkvoorbeeld

Door