Zo gebruik je het
- Voer het getal in dat je wilt omzetten.
- Kies bij Grondtal invoer het talstelsel waarin het getal is geschreven, van 2 tot 36 of Base62.
- Lees het resultaat tegelijk af als binair, octaal, decimaal, hex, Base36 en Base62.
- Wil je een ander grondtal, kies dat dan bij Eigen grondtal.
Getallen, geen bytes
Deze tool zet de waarde van een getal om. Het decimale getal 255 is binair 11111111, octaal 377, hexadecimaal ff en in Base36 73.
Bytecoderingen zoals Base16 en Base2 doen iets anders: die coderen tekst of bestanden. De tekst 255 bestaat uit drie tekens, opgeslagen als de bytes 32 35 35 in hex, of 00110010 00110101 00110101 in binair. Gebruik deze pagina voor de hex van een getal en de byte-encoders voor de hex van tekens of een bestand.
Hoe positionele talstelsels werken
In elk talstelsel is een cijfer het grondtal tot de macht van zijn positie waard, geteld vanaf rechts en beginnend bij nul. Hex ff is 15 × 16 + 15 = 255, en binair 11111111 is 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255. Grondtallen boven 10 gaan na de cijfers verder met letters, dus in Base36 betekent a 10 en z 35. Base62 gebruikt daarnaast ook de andere lettervorm, zodat hoofdletters en kleine letters daar verschillende waarden hebben.
Eén hexcijfer staat voor precies 4 bits en één octaal cijfer voor 3 bits. Daarom gebruiken programmeurs hex en octaal als korte schrijfwijze voor binair: 1111 1111 wordt groep voor groep ff.
Grote en negatieve getallen
De converter gebruikt gehele getallen met willekeurige precisie (JavaScript BigInt), zodat lange getallen exact blijven. Veel rekenmachines en gewone JavaScript-getallen verliezen precisie boven 9007199254740991 (2 tot de macht 53, min 1). Zo geeft parseInt('ffffffffffffffff', 16) 18446744073709552000 terug, terwijl de juiste waarde, het grootste unsigned 64-bits geheel getal, 18446744073709551615 is.
Een negatief getal wordt met zijn minteken omgezet, dus -255 is in hex -ff. Dat is niet de tweecomplementvorm die in het geheugen voor gehele getallen met een vaste breedte wordt gebruikt. Om die te krijgen, tel je eerst 2 tot de macht van de breedte op: voor 8 bits is -1 + 256 = 255, en dat is ff. Alleen gehele getallen worden ondersteund, geen breuken. Alles draait in je browser.
Talstelsels omrekenen in code
// JavaScript
parseInt('ff', 16); // 255
(255).toString(2); // '11111111'
BigInt('0xffffffffffffffff').toString(10); // '18446744073709551615'
# Python
int('ff', 16) # 255
bin(255), oct(255), hex(255) # ('0b11111111', '0o377', '0xff')
Veelgestelde vragen
Hoe zet ik binair om naar decimaal?
Voer het binaire getal in, kies grondtal 2 en lees het decimale resultaat af. Met de hand tel je de plaatswaarden van elk cijfer 1 bij elkaar op: binair 1010 is 8 + 2 = 10.
Hoe zet ik decimaal om naar hex?
Voer het getal in met grondtal 10 geselecteerd en lees het hexadecimale resultaat af. Met de hand deel je steeds opnieuw door 16 en schrijf je de resten in omgekeerde volgorde op: 255 gedeeld door 16 is 15 rest 15, en dat geeft ff.
Is er een limiet voor de grootte van het getal?
Er is geen vaste limiet. De tool rekent met BigInt, dus een getal van honderden cijfers wordt exact omgezet. Zeer lange getallen duren alleen iets langer.
Waarom is de hex van 255 hier anders dan bij de Base16-encoder?
Kan ik getallen met cijfers achter de komma omzetten?
Nee. De converter werkt alleen met gehele getallen. Breuken zoals 0,1 hebben in een ander grondtal vaak geen exacte weergave en vallen daarom buiten het bereik van deze tool.