Kies het talstelsel van je getal en vul het getal in zoals het in dat talstelsel wordt geschreven. De pagina rekent het meteen om naar binair, octaal, decimaal en hexadecimaal en laat de stappen zien.
Inhoudsopgave
-
Wat je op deze pagina kunt doen
-
Waarvoor is deze berekening handig?
-
Zo werkt het
-
Formule
-
Symbolen en begrippen
-
Handig om vooraf te weten
-
Berekenen met Excel
-
Berekenen met Google Spreadsheets
-
Berekenen met Python
-
De formule in LaTeX en andere wiskundenotaties (om te kopiëren)
-
Zo laat je ChatGPT de berekening doen
-
Kenmerken van DataChef
-
Gerelateerde functies
-
Alle rekenmachines van NumberChef
Wat je op deze pagina kunt doen
- Kies het talstelsel van je getal (binair, octaal, decimaal of hexadecimaal), vul het in en je ziet hetzelfde getal meteen in alle vier de talstelsels
- Je beantwoordt vragen als “Wat is hexadecimaal 2AA in decimaal?” of “Wat is 170 in binair?” in één keer
- Je ziet ook de uitwerking met plaatswaarden (elk cijfer × zijn plaatswaarde, alles opgeteld) en het steeds delen door het grondtal met de resten, zodat je leert hoe het omrekenen werkt
- Handig om te oefenen met het omrekenen van talstelsels en je antwoorden te controleren, bijvoorbeeld voor informatica of een ICT-opleiding of -certificering
- Op deze pagina vind je ook een eenvoudige uitleg van de formules en formules om te kopiëren voor Excel, Google Spreadsheets en Python
Waarvoor is deze berekening handig?
Het omrekenen van talstelsels is een vast onderdeel van het schoolvak informatica (havo en vwo), van ICT-opleidingen in het mbo en hbo en van certificeringen zoals CompTIA A+ en Network+.
Vragen als “Wat is binair 1010 in decimaal?” of “Schrijf decimaal 45 in binair” gebruiken precies de twee methoden op deze pagina: de uitwerking met plaatswaarden en het steeds delen met rest. Door te oefenen met de stappen erbij loop je er bij een toets of examen niet op vast.
Kleuren op webpagina’s geef je op met hexadecimale kleurcodes zoals “#FF5733”. De code geeft de sterkte van rood, groen en blauw met elk twee hex-cijfers (00 tot en met FF = 0 tot en met 255 in decimaal), dus #FF5733 is rood FF (255), groen 57 (87) en blauw 33 (51).
Als je kunt wisselen tussen hexadecimaal en decimaal, kun je kleurveranderingen als “iets minder rood” rechtstreeks vertalen naar de getallen in de code.
De 755 in “chmod 755”, een commando dat je vaak op servers gebruikt, is een octaal getal. Elk octaal cijfer komt overeen met 3 binaire cijfers, en 755 is in binair 111 101 101: aan- en uitschakelaars voor “lezen, schrijven, uitvoeren”, 3 bits voor de eigenaar, 3 voor de groep en 3 voor iedereen.
Als je talstelsels begrijpt, is dit getal geen geheime code meer maar een tabel met bit-schakelaars.
Een IP-adres, zoals 192.168.1.1, is in werkelijkheid een binair getal dat is verdeeld in vier delen van 8 bits: 192 is 11000000 en 255 is 11111111.
Basiskennis van netwerken, zoals “het subnetmasker 255.255.255.0 geeft aan dat de eerste 24 bits het netwerkdeel zijn”, is pas goed te begrijpen als je kunt wisselen tussen decimaal en binair. Deze kennis is de basis voor het werk van netwerkbeheerders en voor certificeringen zoals CCNA.
“Eén byte = 8 bits, dus 0 tot en met 255 (00 tot en met FF in hex)” en “geheugenadressen en foutcodes worden in hex getoond, zoals 0x7FFF”: binair en hexadecimaal zijn de gemeenschappelijke taal om te leren wat er in een computer gebeurt.
Onderwerpen waar studenten programmeren vaak over struikelen, zoals bitbewerkingen, tekencodes en kleurwaarden, worden een stuk duidelijker als je vrij kunt wisselen tussen talstelsels.
Formule
Symbolen en begrippen
Symbolen
| \(b\) | Het grondtal, het getal dat aangeeft welk talstelsel wordt gebruikt. Op deze pagina is het 2, 8, 10 of 16. (De letter komt van het Engelse “base”.) |
| \(d_i\) | Het cijfer op positie \(i\), van rechts geteld (het meest rechtse cijfer is positie 0). In hexadecimaal kan het ook A tot en met F zijn (10 tot en met 15 in decimaal). (De letter komt van het Engelse “digit”.) |
| \(i\) | De positie van het cijfer. Het meest rechtse cijfer is \(i=0\) en per cijfer naar links gaat het met 1 omhoog. |
| \(N\) | De waarde in decimaal. De tussenstappen van het omrekenen op deze pagina lopen altijd via deze decimale waarde. |
| \(\sum\) | Het symbool voor “alles optellen” (sommatie). \(\sum_{i=0}^{k}\) betekent: laat \(i\) van 0 tot \(k\) lopen en tel alle termen op. |
| \(q\) | Het quotiënt van een deling. Om decimaal om te rekenen naar grondtal \(n\) blijf je delen tot het quotiënt 0 is. (De letter komt van “quotiënt”.) |
| \(r\) | De rest van een deling. De resten worden de cijfers van het getal in grondtal \(n\), te beginnen bij het meest rechtse cijfer. (De letter komt van het Engelse “remainder”.) |
| \(2\mathrm{AA}_{16}\) | Het kleine getal 16 rechtsonder bij een getal betekent “dit getal is geschreven in grondtal 16 (hexadecimaal)”. Zo is \(1010_{2}\) een binair getal. Deze schrijfwijze gebruik je als niet duidelijk is in welk grondtal een getal staat. Programmeurs schrijven hexadecimale getallen ook met het voorvoegsel 0x, zoals 0x2AA. |
Begrippen
| talstelsel | De manier waarop je getallen schrijft, bepaald door het grondtal. In het dagelijks leven gebruiken we het decimale (tientallige) stelsel, en computers rekenen intern in het binaire (tweetallige) stelsel. Andere talstelsels zijn octaal (achttallig) en hexadecimaal (zestientallig). |
| grondtal | Het aantal verschillende cijfers van een talstelsel, dus hoeveel van iets één groep (een overdracht naar het volgende cijfer) vormen als je telt. Gewone getallen groeperen per 10 (decimaal) en computers werken intern per 2 (binair). Dat aantal (2, 8, 10, 16 enzovoort) heet het grondtal (ook wel basis of radix). |
| positiestelsel | Een manier om getallen te schrijven waarbij elke positie van een cijfer zijn eigen plaatswaarde heeft. Het werkt zoals decimaal 682 voor \(6 \times 100 + 8 \times 10 + 2 \times 1\) staat. In binair, octaal en hexadecimaal zijn de plaatswaarden machten van 2, 8 en 16. |
| binair | Een manier om getallen te schrijven met maar twee cijfers, 0 en 1 (grondtal 2). Computers verwerken informatie als elektrische aan- en uitstanden, dus al hun interne berekeningen gebeuren binair. |
| octaal | Een manier om getallen te schrijven met de acht cijfers 0 tot en met 7 (grondtal 8). Eén octaal cijfer komt overeen met 3 binaire cijfers. Het wordt gebruikt voor bestandsrechten in Linux en Unix, zoals “755”. |
| hexadecimaal | Een manier om getallen te schrijven met zestien tekens, 0 tot en met 9 en A tot en met F (A is 10, B is 11, …, F is 15), ook wel hex genoemd (grondtal 16). Eén hexadecimaal cijfer komt overeen met 4 binaire cijfers, dus programmeurs gebruiken het veel om lange binaire getallen kort te schrijven. |
| bit | Eén binair cijfer. Het is de kleinste eenheid van informatie die een computer verwerkt, en de waarde is 0 of 1. |
| nibble | Een groep van 4 bits (één hexadecimaal cijfer). Twee nibbles zijn samen één byte. |
| byte | Een groep van 8 bits (twee hexadecimale cijfers). Eén byte kan 256 verschillende waarden bevatten, in hex van 00 tot en met FF, en daarom passen bytes en hexadecimaal zo goed bij elkaar. |
Handig om vooraf te weten
Dit helpt je om de berekening op deze pagina echt te begrijpen.
| Plaatswaarde in het tientallig stelsel (basisschool, groep 4-5, 7-9 jaar) |
|
| Delen met rest (groep 5-6, 8-10 jaar) |
|
| Machten en exponenten (klas 1-2, 12-14 jaar) |
|
| Talstelsels (informatica en wiskunde, bovenbouw havo en vwo, 15-18 jaar) |
|
Berekenen met Excel
| Decimale waarde | 170 |
| Binair | =DEC.N.BIN(B1) |
| Octaal | =DEC.N.OCT(B1) |
| Hexadecimaal | =DEC.N.HEX(B1) |
| Binair | 10101010 |
| Decimaal | =BIN.N.DEC(B1) |
| Hexadecimaal | 2AA |
| Decimaal | =HEX.N.DEC(B1) |
| Decimale waarde | 1500 |
| Hexadecimaal (BASIS) | =BASIS(B1;16) |
| Terug van hexadecimaal naar decimaal (DECIMAAL) | =DECIMAAL(B2;16) |
Let op: deze functies hebben grenzen. DEC.N.BIN werkt alleen van −512 tot en met 511 (uitkomsten tot 10 binaire cijfers), DEC.N.OCT van −536.870.912 tot en met 536.870.911 en DEC.N.HEX van −549.755.813.888 tot en met 549.755.813.887. De omgekeerde functies BIN.N.DEC en HEX.N.DEC (en die voor octaal) accepteren ook hoogstens 10 cijfers. Meer dan 10 cijfers geeft een foutmelding, en bij precies 10 cijfers met een eerste bit 1 (een beginnend cijfer 8 tot en met F in hex) wordt de waarde gelezen als een negatief getal (tweecomplement).
Voor grotere getallen gebruik je in de vierde tabel de functie BASIS (decimaal → grondtal n) en de functie DECIMAAL (grondtal n → decimaal). Die zijn er vanaf Excel 2013 en verwerken getallen tot ongeveer 9 biljard (2 tot de macht 53 min 1).
Berekenen met Google Spreadsheets
| Decimale waarde | 170 |
| Binair | =DEC.N.BIN(B1) |
| Octaal | =DEC.N.OCT(B1) |
| Hexadecimaal | =DEC.N.HEX(B1) |
| Binair | 10101010 |
| Decimaal | =BIN.N.DEC(B1) |
| Hexadecimaal | 2AA |
| Decimaal | =HEX.N.DEC(B1) |
| Decimale waarde | 1500 |
| Hexadecimaal (BASIS) | =BASIS(B1;16) |
| Terug van hexadecimaal naar decimaal (DECIMAAL) | =DECIMAAL(B2;16) |
De grenzen, zoals dat DEC.N.BIN alleen werkt van −512 tot en met 511, zijn dezelfde als in Excel. Voor grotere getallen gebruik je de functies BASIS en DECIMAAL.
Berekenen met Python
number = "2AA" # het getal om om te rekenen (geschreven in zijn eigen talstelsel)
from_base = 16 # het grondtal van dat getal (2, 8, 10 of 16)
value = int(number, from_base) # maak er eerst een decimaal geheel getal van
binary = format(value, "b") # binair
octal = format(value, "o") # octaal
hexadecimal = format(value, "X") # hexadecimaal (hoofdletters)
print(f"Decimaal: {value}")
print(f"Binair: {binary}")
print(f"Octaal: {octal}")
print(f"Hexadecimaal: {hexadecimal}")
De formule in LaTeX en andere wiskundenotaties (om te kopiëren)
N = Σ dᵢ × bⁱ
N = \sum_{i=0}^{k} d_i \times b^{i}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi>
<mo>=</mo>
<munderover>
<mo>∑</mo>
<mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow>
<mi>k</mi>
</munderover>
<msub><mi>d</mi><mi>i</mi></msub>
<mo>×</mo>
<msup><mi>b</mi><mi>i</mi></msup>
</mrow>
</math>
N = sum_(i=0)^k d_i * b^i
FromDigits[{2, 10, 10}, 16]
N := add(d[i]*b^i, i = 0 .. k);
N = polyval(d, b);
N = ∑_(i=0)^k d_i × b^i
N = b × q + r (0 ≤ r < b)
N = b \times q + r \quad (0 \le r < b)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi>
<mo>=</mo>
<mi>b</mi>
<mo>×</mo>
<mi>q</mi>
<mo>+</mo>
<mi>r</mi>
</mrow>
</math>
N = b q + r, \ 0 <= r < b
QuotientRemainder[682, 16]
q := iquo(n, b); r := irem(n, b);
q = floor(n/b); r = mod(n, b);
N = b × q + r (0 ≤ r < b)
h = b₃×2³ + b₂×2² + b₁×2¹ + b₀×2⁰
h = b_3 \times 2^3 + b_2 \times 2^2 + b_1 \times 2^1 + b_0 \times 2^0
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>h</mi>
<mo>=</mo>
<msub><mi>b</mi><mn>3</mn></msub><mo>×</mo><msup><mn>2</mn><mn>3</mn></msup>
<mo>+</mo>
<msub><mi>b</mi><mn>2</mn></msub><mo>×</mo><msup><mn>2</mn><mn>2</mn></msup>
<mo>+</mo>
<msub><mi>b</mi><mn>1</mn></msub><mo>×</mo><msup><mn>2</mn><mn>1</mn></msup>
<mo>+</mo>
<msub><mi>b</mi><mn>0</mn></msub><mo>×</mo><msup><mn>2</mn><mn>0</mn></msup>
</mrow>
</math>
h = b_3*2^3 + b_2*2^2 + b_1*2 + b_0
FromDigits[{b3, b2, b1, b0}, 2]
h := 8*b3 + 4*b2 + 2*b1 + b0;
h = 8*b3 + 4*b2 + 2*b1 + b0;
h = b_3 × 2^3 + b_2 × 2^2 + b_1 × 2^1 + b_0 × 2^0
Zo laat je ChatGPT de berekening doen
Je bent een rekenassistent voor het omrekenen van talstelsels. Voer de volgende berekening uit door echt Python-code uit te voeren, en baseer je antwoord alleen op de getallen uit het resultaat van de uitvoering (geef geen antwoord op basis van hoofdrekenen of gokken). Reken hexadecimaal 2AA om naar elk van deze talstelsels: 1. Decimaal 2. Binair 3. Octaal Laat bij het omrekenen van hexadecimaal naar decimaal ook de uitwerking zien van elk cijfer × zijn plaatswaarde (een macht van 16). Laat de code zien die je hebt gebruikt en de getallen uit het resultaat van de uitvoering.
Zo werkt het
-
1Vul je getallen inTyp de getallen waarmee je wilt rekenen in de invoervelden
-
2BerekenKlik op de knop “Berekenen”
-
3Bekijk het resultaatHet resultaat verschijnt meteen. Op dezelfde pagina vind je ook de uitwerking van de berekening en de uitleg van de formule
Kenmerken van DataChef
Geen voorkennis nodig – intuïtieve en eenvoudige bediening
Zonder persoonlijke gegevens op te geven
Bestand wordt automatisch verwijderd zodra je op "Downloaden" klikt
Geen bronvermelding vereist
Geen toestemming vooraf nodig