login  Naam:   Wachtwoord: 
Registreer je!
 Nota's op tutorial:

Tutorials > Javascript > Getallen in JavaScript
Pagina:

Reacties op de tutorial Getallen in JavaScript


Offline  Mokka
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

Offline  Thomas
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.

Offline  gijs
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 

Pagina:

Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.016s