Tutorials >
Javascript >
Getallen in JavaScript
|
Gepost op: 24 april 2005 - 18:26 |
|
|
|
Onbekend
|
leuke tutorial, jammer dat er ook een paar dingen al eerder doe mij besproken waren, zie bijvoorbeeld voor Math.Round() mijn tutorial over variabelen in JavaScript |
|
|
|
Gepost op: 27 april 2005 - 12:47 |
|
|
|
Moderator
|
Citaat: Daarnaast kun je in Javascript ook het octale (achttallig) en het hexidecimale (zestientallig) stelsel gebruiken. Dat is echter werk voor specialisten.
Dat is echter geen reden om die twee varianten hier niet te behandelen. Een tutorial dient er toch juist voor dit soort zaken duidelijk te maken ?
Octale en hexadecimale stelsel
Normaal werken wij met het decimale (tientallige) stelsel. Getallen bestaan uit cijfers die lopen van 0 t/m 9.
Elk getal kun je schrijven als een som van machten van 10 (ook van andere machten natuurlijk).
Bijvoorbeeld het (decimale) getal 123. Dit is ook te schrijven als:
3 * 10^0 + (3 keer 10 tot de macht 0 plus)
2 * 10^1 + (2 keer 10 tot de macht 1 plus)
1 * 10^2 (1 keer 10 tot de macht 2)
De enige verschillen tussen het decimale (10-tallige) en octale (8-tallige) of hexadecimale (16-tallige) stelsel zijn:
- het grondtal waar je mee rekent
- de cijfers(ymbolen) waar je mee werkt
In het decimale stelsel reken je met grondtal 10 (zie het voorbeeld hierboven) en werk je met 10 cijfers (0 t/m 9).
In het octale stelsel reken je met grondtal 8 en werk je met 8 cijfers (0 t/m 7 - zie voorbeelden hieronder).
In het hexadecimale stelsel reken je met grondtal 16 en werk je met 16 cijfers. Omdat we maar 10 cijfers hebben (0 t/m 9) zijn de letters a t/m f gebruikt om de getallen 10 (voorgesteld door de letter a) t/m 15 (voorgesteld door de letter f) voor te stellen in de hexadecimale notatie (zie voorbeelden hieronder).
Notatie van de verschillende stelsels (in JavaScript)
Om de verschillende stelsels uit elkaar te houden hanteert JavaScript (en ook andere talen) de volgende notatiewijze:
Een octaal getal wordt altijd vooraf gegaan door een 0 (het cijfer 0).
Een hexadecimaal getal wordt altijd vooraf gegaan door 0x (het cijfer 0, gevolgd door een x).
Nu we weten hoe octale en hexadecimale getallen er uitzien, een voorbeeld:
0230
Het getal begint met een 0, dus we rekenen in het octale stelsel. Vaak willen we weten wat de decimale waarde van zo'n getal is, dus we rekenen om - hierbij lezen we het getal weer van rechts naar links, waarbij bij elk cijfer er een "macht van acht" bij komt:
0 * 8^0 + (0 keer 8 tot de macht 0 plus)
3 * 8^1 + (3 keer 8 tot de macht 1 plus)
2 * 8^2 (2 keer 8 tot de macht 2)
Dit is (decimaal) gelijk aan
0*1 + 3*8 + 2*64 = 152
Nog een voorbeeld:
0x1af
Het getal begint met 0x, dus we hebben te doen met een hexadecimaal getal. We rekenen dit getal weer om naar een decimaal getal:
f * 16^0 + (15 keer 16 tot de macht 0 plus)
a * 16^1 + (10 keer 16 tot de macht 1 plus)
1 * 16^2 ( 1 keer 16 tot de macht 2)
Dit is (decimaal) gelijk aan
15*1 + 10*16 + 1*256 = 431
Wanneer je getallen afdrukt met document.write() of toont met window.alert() zullen deze altijd omgezet worden naar de decimale variant. |
|
|
|
Gepost op: 27 april 2005 - 23:06 |
|
|
|
HTML beginner
|
pfieuw.. ik houd het toch liever maar bij het decimale stelsel..
bedankt voor deze uitleg, ik heb het in de tutorial gestopt |
|
|
Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties. |
|
|
|