Converteer Getallenstelsels BIN/HEX/DEC/OCT | Negatieve Getallen

De wereld van computers werkt met nullen en enen, maar mensen denken in tientallen. En programmeurs? Die moeten alles daartussenin begrijpen. Of je nu low-level code debugt, kleuren in CSS instelt, IP-maskers berekent of informatica-opdrachten oplost, je stuit op de noodzaak om getallen tussen stelsels te converteren.

Gangbare rekenmachines in Windows of op mobiele telefoons zijn vaak traag en onhandig. Onze intelligente getallenstelsel converter is ontworpen door ontwikkelaars voor ontwikkelaars. Het biedt directe conversie in real-time, ondersteuning voor extreem grote getallen en is een van de weinige online tools die negatieve getallen in binaire vorm correct verwerkt.

Wat kan deze getallenstelsel converter?

Bij de ontwikkeling van deze widget hebben we ons gericht op het oplossen van de meest voorkomende pijnpunten voor programmeurs:

  1. Realtime reactiviteit: Geen “Bereken”-knop. Begin met typen in het HEX-veld en je ziet direct hoe BIN en DEC veranderen.
  2. Ondersteuning voor negatieve getallen (Signed Integers): De meeste online converters falen als je -5 typt. Wij niet. Dankzij de keuze van de bitdiepte (8, 16, 32, 64 bits) simuleren we het exacte gedrag van de processor met behulp van het zogenaamde two’s complement.
  3. Leesbaarheid van binaire code: Kijken naar 1110101011011110 is vermoeiend voor de ogen. Onze tool kan de uitvoer automatisch formatteren per 4 bits (nibbles) naar 1110 1010 1101 1110, wat de foutgevoeligheid bij het overschrijven drastisch vermindert.
  4. BigInt ondersteuning: Moet je een 64-bits getal of een hash converteren? Standaard JavaScript stopt bij het getal $2^{53}$. Onze engine kan willekeurig lange getallen verwerken in de “Unsigned”-modus.

Handleiding voor getallenstelsels: Wanneer gebruik je welke?

1. Decimaal stelsel (DEC - Decimal)

  • Basis: 10 (cijfers 0-9)
  • Gebruik: Dagelijks leven, financiën, het tellen van lussen in code.
  • Interessant: Computers begrijpen het niet direct, ze moeten het omzetten naar binair.

2. Binair stelsel (BIN - Binary)

  • Basis: 2 (cijfers 0, 1)
  • Gebruik: Machinecode, logische poorten, IP-adressen maskeren.
  • Tip: Elk cijfer vertegenwoordigt één bit. 8 bits vormen 1 byte.

3. Hexadecimaal stelsel (HEX - Hexadecimal)

  • Basis: 16 (cijfers 0-9, letters A-F)
  • Gebruik: Compacte weergave van binaire code. Eén HEX-teken vertegenwoordigt precies 4 bits (een nibble). Twee tekens (bijv. FF) vertegenwoordigen een hele byte.
  • Voorbeelden:
    • Kleuren op het web: #FF5733 (Rood, Groen, Blauw).
    • MAC-adressen: 00:1A:2B:3C:4D:5E.
    • Geheugendumps (Memory dumps).

4. Octaal stelsel (OCT - Octal)

  • Basis: 8 (cijfers 0-7)
  • Gebruik: Historisch gezien oudere computers, tegenwoordig vooral voor Linux-rechten (chmod).
  • Voorbeeld: Het commando chmod 755 stelt de rechten rwx-rx-rx in (lezen, schrijven, uitvoeren).

Hoe werk je correct met negatieve getallen?

Dit is de meest geavanceerde functie van onze converter. In computergeheugen bestaat er geen “min”-teken. Om een negatief getal op te slaan, gebruikt de computer meestal de methode van het two’s complement.

Het resultaat van de conversie van een negatief getal hangt echter af van hoeveel bits een variabele heeft gereserveerd. Daarom vind je in de bovenste balk de schakelaar Bitdiepte.

Voorbeeld: Hoe ziet het getal -5 eruit?

Probeer het zelf in onze converter:

  1. Stel de breedte in op 8-bit.

    • Voer in DEC in: -5.
    • Resultaat HEX: FB.
    • Resultaat BIN: 1111 1011.
    • Uitleg: $256 - 5 = 251$ (wat FB is).
  2. Stel de breedte in op 16-bit.

    • Voer in DEC in: -5.
    • Resultaat HEX: FFFB.
    • Uitleg: Omdat we meer ruimte hebben, vullen de “enen” de rest van de ruimte aan de linkerkant.
  3. Stel de breedte in op Alleen positief (Unsigned).

    • Als je -5 invoert, kleurt het veld rood. Deze modus ondersteunt geen negatieve getallen, omdat dit oneindig veel enen zou vereisen.

Pro tip: Als je werkt met kleuren of IP-adressen, gebruik dan altijd de modus “Alleen positief”. Als je opdrachten doet voor C/C++ of assembler, schakel dan over naar 32-bit of 64-bit.


Tabel met snelle conversies (Spiekbrief)

Voor een snelle oriëntatie presenteren we hier de basiswaarden die elke “techneut” uit het hoofd zou moeten kennen.

Decimaal (DEC)Hexadecimaal (HEX)Binair (BIN)Opmerking
0000000Nul
1010001
100A1010
150F1111Maximale waarde van 4 bits (Nibble)
16100001 0000
1277F0111 1111Max waarde voor signed 8-bit (char)
255FF1111 1111Max waarde voor unsigned 8-bit (byte)
65 535FFFFMax waarde voor 16-bit

Veelgestelde vragen (FAQ)

Wat betekent "Bit Depth" (Bitdiepte)? Bepaalt hoeveel geheugen we voor een getal hebben gereserveerd.
  • 8-bit: Waarden 0 tot 255 (of -128 tot 127). Komt overeen met het type char of byte.
  • 16-bit: Waarden tot 65.535. Komt overeen met het type short.
  • 32-bit: Standaard int in moderne talen.
  • 64-bit: Voor zeer grote getallen (long long, BigInt).
Waarom wordt het getal 255 in HEX als FF geschreven? Het hexadecimale stelsel heeft 16 cijfers (0-9 en A-F), waarbij F de waarde 15 heeft. Het getal FF wordt berekend als: $(15 \times 16^1) + (15 \times 16^0) = 240 + 15 = 255$.
Hoe converteer ik een HEX-kleur naar RGB? Een kleur op het web, bijv. #E05412, bestaat uit drie bytes: Rood (E0), Groen (54), Blauw (12). Voer "E0" in ons converter in het HEX-veld in -> je krijgt 224. Voer "54" in -> je krijgt 84. Voer "12" in -> je krijgt 18. Het resultaat is rgb(224, 84, 18).
Wat betekenen de prefixen 0x, 0b of 0o? Om programmeurs te helpen bij het onderscheiden van stelsels, worden prefixen gebruikt:
  • 0x = Hexadecimaal (bijv. 0xFF)
  • 0b = Binair (bijv. 0b101)
  • 0o = Octaal (bijv. 0o755)
Onze converter herkent deze notaties, maar het is niet nodig om ze te typen.
Waarom is mijn veld rood geworden? Dat is een invoervalidatiefunctie. Het betekent dat je een teken hebt ingevoerd dat niet in dat specifieke stelsel thuishoort. Bijvoorbeeld:
  • De letter "G" in HEX (alleen A-F is toegestaan).
  • Het cijfer "2" in BIN (alleen 0 en 1 zijn toegestaan).
  • Het cijfer "8" in OCT (alleen 0-7 is toegestaan).
Corrigeer de typfout en de berekening wordt voortgezet.