|
Tip 149 - Beperkingen bij FileMaker-calculaties 
We moeten al ver
gaan om tegen de limieten van de FileMaker calculation
engine aan te botsen, maar limieten zijn er
wel..
Het formulevenster
waar we al onze toverformules intikken, kan niet meer dan
dertigduizend tekens bevatten (en dat geldt voor alles wat
in zo'n venster kan staan: tekst, getallen, veldnamen,
haakjes, operatoren, functies, puntkomma's, spaties
enzovoort...).
Getallen kunnen we
tamelijk groot maken, maar meer dan vijftien digits mag
niet. Daarmee kan je natuurlijk al een behoorlijk
bedrag formuleren: 5 groepjes van 3 negens bijvoorbeeld
(weet iemand hoe je dat uitspreekt?).
Voor de
specialisten: FileMaker rekent niet zelf natuurlijk, dat
doet de computer. En die werkt binair, kent dus enkel
enen en nullen, niet meer dan twee cijfers dus. Met die
enen en nullen slaagt de computer er wel in te doen alsof
hij hexadecimaal rekent* terwijl wij, met onze arme
hersenen (wegens handen en voeten...), het tientallig
stelsel hanteren. Tussen die twee systemen bestaan
afwijkingen die in bepaalde situaties bevreemdende
resultaten geven (iets als 1,99999999998 terwijl we gewoon 2
hadden verwacht). Maar meestal loopt het wel
goed...
* Het hexadecimaal of zestientallig stelsel is een
natuurlijk gevolg van het feit dat de computer maar twee
tekens herkent: stroom of geen stroom, iets of niets, 0 of
1. Hierbij worden de enen en nullen gebruikt om - in
reeksen geschreven - alle cijfers weer te geven die we nodig
hebben om te kunnen rekenen. Een eenvoudig voorbeeldje: als
je elk cijfer door één teken laat voorstellen,
en je hebt slechts twee tekens (een één en een
nul), dan kan je ook maar twee cijfers weergeven. Je
zou bijvoorbeeld kunnen afspreken dat de één
een zes voorstelt en de nul een negen, om maar wat te
zeggen. Dan kan je dus 69 schrijven als 10 (de
combinatie van een één en een nul). Als
we het op een akkoordje gooien en we stellen voor een cijfer
voor te stellen door twee tekens, dan kunnen we al vier
combinaties maken (00, 01, 10 en 11) en dus ook vier cijfers
voorstellen: zo zouden we kunnen zeggen dat 00 de nul
voorstelt, 01 het cijfer 1, 10 het cijfer 2 en 11 het cijfer
3, gewoon een kwestie van conventie. Met drie tekens
geraken we al een heel eind verder. Dan krijgen we deze
combinatiemogelijkheden: 000, 001, 010, 011, 100; 101, 110,
111. Acht mogeliljkheden dus (2 tot de 3de macht: 2 x 2
x 2). Met acht mogelijkheden komen we er natuurlijk nog
niet. We zouden bijvoorbeeld het cijfer 9 niet kunnen
weergeven. Als we een combinatie van 4 tekens
afspreken, dan krijgen we 16 mogelijkheden. We kunnen
daarmee al de cijfers 0 tot 9 weergeven, en dan houden we
nog 6 mogelijkheden over. Daarmee kunnen we ook al 6
letters schrijven, te weinig weliswaar voor een
alfabet. Uiteindelijk hebben de ASCII-mensen geopteerd
voor 8 combinaties. Daarmee konden ze 256 tekens
schrijven, en dat is lange tijd voldoende geweest. Vandaag
gebruiken we Unicode en kunnen we ongeveer 64.000 tekens
weergeven. Zo kunnen we ook Chinees, Swahili, Arabisch
en nog veel meer schrijven: voor iedereen is er nu wel een
teken (zelfs voor de uitvinders van de Euro: €)!
|