Uzmimo npr. sledeću funkciju:

(1, 2, 3, 5, 7 i 11 su prvih šest prostih brojeva)
gde je:
Primer: Datum 5.9.2007 11:28:49 (2007 = 1899 + 108) pamtimo kao

, tj. važna su nam dva sortirana niza (1, 2, 3, 5, 7, 11) koji je fiksiran i (2007, 49, 28, 11, 9, 5) koji se menja u zavisnosti od izabranog datuma.
Dakle, svaki datum funkcijom f preslikavamo u broj. Taj broj je jednoznačno određen, odnosno iz takvog jednog broja se ne može inverznom funkcijom funkcije f odrediti neki drugi datum, nego baš taj datum.
Zašto? Ima jedna teorema iz Algebre, ne sećam se koja, ali sećam se da ona tvrdi ovako nešto.
Inverzan postupak se, dakle, svodi na problem rastavljanja našeg broja na zbir 6 proizvoda

, odnosno određivanja x, y, z, u, v i t, a samim tim i potrebnog datuma.
Da vidimo koliko smo potrošili prostora za čuvanje ovakvih brojeva:

Uzimamo dakle opseg od 1 do 1018 (u postupku određivanja datuma ćemo dodati naknadno razliku 28).
Pošto čuvamo dva datuma

i

, to je onda

, gde su

i

(g je nova funkcija po istom principu kao i f)
Dakle,

Uzimamo dakle opseg od 1 do 3136 (u postupku određivanja A i B ćemo dodati naknadno razliku 2).
Dakle,

, odnosno, potrošili smo 12 bitova za čuvanje dva datuma.
Kako ćemo znati koji od (a, b, c, d, e, f) su naši (x, y, z, u, v, t)? Pošto podataka u vremenskom trenutku ima ukupno 6 (godina, mesec, dan, sat, minut, sekunda), za čuvanje informacije o sortiranom nizu podataka koristićemo za svaki podatak 3 bita, odnosno nisku od 18 bitova za jedan datum.
Za čuvanje redosleda podataka A i B dovoljno je koristiti nisku od dva bita.
To je ukupno 12+18+18+2=50 bitova. :-) (al' sam ga spalamudio...)
[Ovu poruku je menjao Miorot dana 25.10.2008. u 16:04 GMT+1]