§

Options

§

Binair (basis 2)

§

Octaal (basis 8)

§

Decimaal (basis 10)

§

Hexadecimaal (basis 16)

§

Aangepaste basis

Bij TU Delft Computer Engineering vormt IEEE 754-analyse een kernonderdeel van de bachelor: studenten decomponeren 32-bits zwevendekommapatronen handmatig in teken, exponent en mantissaveld voordat ze ook maar één regel floating-point code schrijven. In Veldhoven past ASML embedded-firmware-teams hexadecimale geheugeninspectie via JTAG-probes toe om foutieve registerwaarden in lithografiemachines te lokaliseren — micrometer-nauwkeurige processen waarbij één verkeerd adresbit een maskerlaag kan vernielen. Aan KU Leuven voert de imec-DistriNet-onderzoeksgroep binaire en hexadecimale telemetrieanalyse uit bij protocol-reverse-engineering van industriële besturingssystemen die via seriële busprotocollen communiceren.

Hoe werkt basisconversie?

Elk positioneel getalstelsel stelt een waarde voor als een som van cijfers vermenigvuldigd met machten van de basis. Van basis wisselen betekent dezelfde waarde herschrijven ten opzichte van een andere machtreeks.

  1. Invoer valideren. Elke basis accepteert een specifieke cijferset. Binair accepteert 0 en 1; octaal 0-7; decimaal 0-9; hex 0-9 en A-F. Een teken buiten het gekozen alfabet geeft een inline-foutmelding voordat er conversie plaatsvindt.
  2. De waarde verwerken. Voor waarden die passen in een JavaScript Number (tot 2^53-1) gebruikt de tool parseInt(text, base). Boven die grens valt hij terug op BigInt zodat de conversie exact blijft voor willekeurig grote gehele getallen.
  3. Weergeven in elke doelbasis. De verwerkte waarde wordt naar elke uitvoerbasis geconverteerd via Number.prototype.toString(base) of BigInt.prototype.toString(base). De vier standaardpanelen (binair, octaal, decimaal, hex) en het aangepaste-basispaneel worden tegelijk bijgewerkt.
  4. Opmaak toepassen. Een prefixschakelaar voegt 0b, 0o of 0x toe aan binaire, octale en hexadecimale uitvoer. Cijfergroepering voegt een onderstrepingsteken in na elk vierde binair cijfer en elk tweede hexcijfer. Een hoofdletterschakelaar kiest hoofdletters of kleine letters voor A-F.
  5. Live synchronisatie van alle panelen. Bewerken van een paneel activeert een 100 ms debounced herconversie die de andere panelen bijwerkt. Het paneel waaraan je typt geldt als bronwaarde bij elke toetsaanslag.

Waarom een basisconverter gebruiken?

  • Geheugeninspectie lezen. Debuggers, disassemblers en core-dumpviewers tonen adressen en registerwaarden in hex. Deze omzetten naar decimaal maakt ze vergelijkbaar met tellingen, groottes en offsets die elders in hetzelfde trace worden gerapporteerd.
  • Werken met kleurcodes. CSS, designtools en afbeeldingsformaten schrijven kleuren als hex-drietallen zoals #d2511a. Elk paar omzetten naar decimaal geeft de rgb(210, 81, 26)-notatie die je kleurenkiezer of toegankelijkheidscontrole verwacht.
  • Bestandsrechten decoderen. Unix chmod-waarden zijn in octaal geschreven: 755 betekent rwxr-xr-x zodra je elk octaal cijfer omzet naar drie binaire bits. De converter toont die mapping in één stap zodat je een rechtenpakket kunt controleren zonder een man-pagina te raadplegen.
  • Bitflags debuggen. Netwerkprotocollen, kernelsyscalls en hardwareregisters pakken veel booleanse vlaggen in één geheel getal. Het getal in binair lezen laat direct zien welke bits gezet zijn — precies wat je nodig hebt als je onderzoekt waarom een vlag geen effect heeft.

Veelvoorkomende toepassingen

Basisconversie duikt op in dagelijks werk van ontwikkelaars, beveiligingsspecialisten en hardwareontwerpers wanneer een getal meer is dan alleen een telling.

  • Embedded firmware: lees een hexadecimale dump van een JTAG-probe, zoek het adres van een functie en schrijf een breakpoint-opdracht met de decimale offset die je debugger-script accepteert.
  • Netwerkbeveiliging: verwerk een 32-bits netmask in decimaal puntnotatie terug naar binair om de prefixlengte te tellen, en schrijf vervolgens de CIDR-notatie voor een ACL-regel.
  • CTF-puzzels en crypto-uitdagingen: wissel tussen hex, decimaal en binair terwijl je een gelekt sleutelfragment vergelijkt met een kandidaat-plaintext onder XOR.

Een uitgewerkt voorbeeld

Typ 255 in het decimale paneel. Het hex-paneel wordt bijgewerkt naar FF (of 0xFF met de prefix-schakelaar aan), het binaire paneel naar 11111111 (gegroepeerd als 1111_1111) en het octale paneel naar 377. Stel de radix van het aangepaste paneel in op 36 en dezelfde waarde wordt weergegeven als 73. Typ een veel grotere waarde zoals 123456789012345678901234567890 in het decimale paneel; het hex-paneel gebruikt het BigInt-pad en geeft 18EE90FF6C373E0EE4E3F0AD2 weer.

FAQ

Wat is een getalbasis?

Een getalbasis, of radix, is hoeveel afzonderlijke cijfers een positioneel stelsel gebruikt voordat het doorloopt naar de volgende positie. Decimaal (basis 10) gebruikt 0-9; binair (basis 2) alleen 0 en 1; hexadecimaal (basis 16) gebruikt 0-9 plus A-F. De waarde van een getal verandert niet wanneer je van basis wisselt — alleen de manier waarop de cijfers worden geschreven en gegroepeerd.

Waarom hexadecimaal gebruiken bij programmeren?

Één hexcijfer komt overeen met precies vier binaire bits, zodat twee hexcijfers een byte beslaan en acht hexcijfers een 32-bits woord. Daardoor is hex de meest compacte mensenleesbare notatie voor geheugenadressen, registerinhoud, kleurdrietallen en cryptografische sleutels. 0xFF lezen gaat sneller dan 11111111, en het bitpatroon is direct zichtbaar als je het nodig hebt.

Kan ik verder converteren dan basis 36?

Deze tool stopt bij basis 36 omdat dat de bovengrens is van de ingebouwde JavaScript-API’s parseInt en toString, die 0-9 gevolgd door A-Z als cijferalfabet accepteren. Bases 37-62 zijn mogelijk met een aangepast alfabet (Base58 voor Bitcoin-adressen is een voorbeeld), maar die worden als een afzonderlijke tool bijgehouden omdat elke hogere basis een eigen canonieke cijfervolgorde nodig heeft.

Worden negatieve getallen en kommagetallen ondersteund?

Negatieve gehele getallen worden weergegeven met een voorliggend minteken in elke basis, hetzelfde gedrag als Number.prototype.toString. Twee-complement-representatie over een gekozen bitbreedte (8, 16, 32, 64) is een aparte weergave die we van plan zijn toe te voegen. Drijvende-kommaconversie valt ook buiten het bereik van deze versie; de tool verwerkt alleen gehele getallen.

Basisconversie is een kleine taak die steeds terugkeert in firmware-, beveiligings- en grafisch werk. Deze uitvoeren in een browsertabblad, met dezelfde rekenprimitieven die Node en V8 al leveren, houdt het werk snel en de gegevens op jouw machine.