Remove ads

Het binaire talstelsel of tweetallig talstelsel is een positiestelsel, waarin een getal wordt voorgesteld door een rijtje van de cijfers 0 en 1. Een dergelijk cijfer wordt in deze context een bit ("binary digit") genoemd.

Snelle feiten Getalsystemen ...
Getalsystemen

Sluiten
Meer informatie Decimaal ...
BinairDecimaal
000000
000011
000102
000113
001004
001015
001106
001117
010008
010019
0101010
Sluiten

In het binaire talstelsel komt iedere positie overeen met een macht van 2. Een binair getal wordt voorgesteld door een rij met bits:

wat betekent:

In het binaire talstelsel is bijvoorbeeld het getal 0101 het getal 5 (= 0 + 4 + 0 + 1) in het decimale stelsel.

Bij geautomatiseerde opslag en communicatie van gegevens (zoals binnen en tussen computers in de ruime zin van het woord) worden deze meestal binair gecodeerd, dat wil zeggen als duizenden reeksen met bits. Voor betere leesbaarheid wordt zo'n reeks met bits vaak weergegeven in het hexadecimale of het octale talstelsel, die beide nauw verwant zijn met het binaire. Zie ook BCD-code, als een tussenvorm tussen het decimale talstelsel en het binaire talstelsel.

Het octale en hexadecimale stelsel worden door computerprogrammeurs gebruikt bij taken waarbij ze de bitconfiguratie van het getal willen zien, omdat er direct hardware aangesproken wordt. In de hardware bestaat informatie uitsluitend in de vorm van reeksen enen en nullen.

Octale en hexadecimale getallen zijn uit binaire getallen af te leiden, namelijk door de binaire cijfers in groepjes van 3 (octaal) of 4 (hexadecimaal) te verdelen en deze groepjes van 3 respectievelijk 4 binaire cijfers steeds tot één octaal respectievelijk hexadecimaal cijfer om te zetten. Dit principe geldt voor alle getallenstelsels waarvan het aantal cijfers een macht van twee is.

Remove ads

Geschiedenis

  • 2400BC: de Egyptenaren gebruikten breuken van machten van 2: 1/2, 1/4, ... 1/64, om de heqat, een bepaalde inhoudsmaat, op te delen. Ook gebruikten ze tabellen met veelvouden van 2 om te vermenigvuldigen.
  • 3e eeuw voor Christus: de Indiaase wiskundige Pingala beschreef een binair talstelsel in de Chandaḥśāstra.
  • Shao Yong (邵雍) (1011–1077) herschikte de hexagrammen uit de I Tjing in een volgorde die overeenkomt met de binaire getallen 000000 t/m 111111.
Thumb
Diagram van Hexagrammen uit de I Tjing, bezit van Gottfried Wilhelm Leibniz, 1701.
Rechter halve cirkel, onder naar boven: 000000-011111,
links, onder naar boven: 100000-111111
centrum: linksboven naar rechtsonder: 000000-111111.
  • 1703: Gottfried Wilhelm Leibniz publiceerde zijn artikel 'Explication de l'Arithmétique Binaire' (uitleg over binair rekenen).
Thumb
Rekenen met binaire getallen, door Gottfried Wilhelm Leibniz.
  • 1937: George Stibitz knultselde aan zijn keukentafel de eerste binaire rekenmachine in elkaar, de "model-K".
  • 1947: John Tukey noemde een binair cijfer een bit, een 'binary digit'.
Remove ads

Van binair naar decimaal

Om een binair getal te vertalen naar een decimaal getal, hoeft men slechts te kijken naar de posities waar een 1 staat. Voor ieder binair cijfer 1 berekent men de door de positie van dit cijfer aangegeven macht van twee, en wel: 2positie − 1. De som van de op deze wijze berekende reeks decimale getallen geeft de waarde van het binaire getal decimaal weer. De eerste positie is de meest rechtse en komt overeen met het getal 1. De tweede positie, de tweede van rechts, komt overeen met het getal 2, de derde van rechts met 4, enz.

Meer informatie 2(positie van de 1) − 1, Decimaal ...
Binair2(positie van de 1) − 1DecimaalBinair2(positie van de 1) − 1Decimaal
1000002532
01000024160100002416
001000238
000100224000100224
000010212
000001201000001201
11111125+24+23+22+21+206301010124+22+2021
Sluiten

Simpel gezegd: bereken voor elk cijfer 1 in het binaire getal, de overeenkomstige macht van 2. Een binair getal van 6 cijfers, bijvoorbeeld 111111, wordt vertaald in (van links naar rechts) 32, 16, 8, 4, 2 en 1. De som 32 + 16 + 8 + 4 + 2 + 1 = 63 is de decimale waarde van dit binaire getal. Zo heeft het binaire getal 010101 de decimale waarde 16 + 4 + 1 = 21

Voor cijfers achter de komma zijn de machten negatief.

Meer informatie 2(positie van de 1) − 1, Decimaal ...
Binair2(positie van de 1) − 1DecimaalBinair2(positie van de 1) − 1Decimaal
0,100002−10,50000
0,010002−20,250000,010002−20,2500
0,001002−30,12500
0,000102−40,062500,000102−40,0625
0,000012−50,03125
0,111112−1+2−2+2−3+2−4+2−50,968750,010102−2+2−40,3125
Sluiten
Remove ads

Eenvoudig omrekenen

Meer informatie In, Uit ...
In2561286432168421Uit
001101010001101010=106
+64+32+8+2
100010000100010000=272
+256+16
57−32−16−800−1=111001
111001
Sluiten

Bovenstaande tabel is een eenvoudig hulpmiddel voor het omrekenen van binair naar tientallig en andersom. Stel er is het binaire getal 001101010. Vul dit in de tabel in en kijk naar de waarde in de bovenste rij. Bij het voorbeeld zijn dit de waarden 64, 32, 8 en 2. Door deze op te tellen is nu bekend hoeveel 001101010 in het tientalligstelsel is, namelijk 106. Het tweede voorbeeld - 100010000 - wordt dan 272.

Een andere methode gebruikt het hornerschema en bestaat erin de bijdragen van de machten van 2 van links naar rechts successievelijk te berekenen. Start bij de meest linkse "1" en pas het volgende algoritme toe. Vermenigvuldig met 2 en tel het volgende cijfer erbij op. Herhaal deze stap tot het laatste cijfer. Toegepast op het binaire getal 001101010 geeft dit:

        1=1
    2+1=3
    6+0=6
  12+1=13
  26+0=26
  52+1=53
106+0=106

Het binaire getal 001101010 = 106 (decimaal). Merk op dat het binaire getal verschijnt in de "kolom" voor de =-tekens.

Andersom kan de tabel ook gebruikt worden. Van het getal 57 wordt de binaire representatie gezocht. Zoek het grootste getal in de bovenste rij dat kleiner is dan of gelijk aan 57; dat is 32. Op die positie komt dus een 1. De rest is 57-32=25. Zoek weer het grootste getal in de bovenste rij dat kleiner is dan of gelijk aan 25; dat is 16. Op de positie 16 komt ook een 1. Bepaal weer de rest: 25-16=9. Het grootste getal in de bovenste rij dat kleiner is dan of gelijk aan 9 is 8. Zet een 1 op die positie. De test is 9-8=1. Ook daar komt een 1. Het resultaat is: 57=1110012.

Er is ook een methode die van laag naar hoog, dus van rechts naar links werkt. Schrijf een 1 als het getal oneven is en trek 1 van het getal af. Zet een 0 als het getal even is. Deel het resterende even getal door 2. Ga een positie naar links en herhaal de procedure.

Toegepast op 57 geeft dit het volgende.

  • 57 is oneven, dus rechts komt een 1.
  • Trek 1 af: 57−1=56 en deel 56 door 2; resterend 28. Schuif een plaats naar links en zet een 0 omdat 28 even is. De twee laatste cijfers van de binaire representatie zijn dus 01.
  • Deel 28 door 2: uitkomst 14. Ga weer een plaats naar links en zet een 0 omdat 14 even is. De drie laatste cijfers zijn dus 001.
  • Deel 14 door 2: uitkomst 7. Ga weer een plaats naar links en zet een 1 omdat 7 oneven is. De vier laatste cijfers zijn dus 1001.
  • Trek 1 af: 7−1=6 en deel 6 door 2; resterend 3. Schuif een plaats naar links en zet een 1 omdat 3 oneven is. De vijf laatste cijfers zijn dus 11001.
  • Trek 1 af: 3−1=2 en deel 2 door 2; resterend 1. Schuif een plaats naar links en zet een 1. De zes cijfers van de binaire representatie zijn: 111001.
Remove ads

Berekenen via de computer

De volgende code in Java kan gebruikt worden om een binaire weergave van een positief geheel getal te maken.

public class BinairOmzetten {
  public static void main(String[] args) {
    voorbeeld( 15); //     1111
    voorbeeld( 50); //   110010
    voorbeeld(200); // 11001000

    // Of gebruik de ingebouwde functionaliteit Integer.toBinaryString(int i)
  }
  
  private static void voorbeeld(int n) {
    System.out.println(n + " --> " + getBinary(n));
  }

  public static String getBinary(int n) {
    final String r;
    if (n == 0)
      r = "0";
    else if (n == 1)
      r = "1";
    else
      r = getBinary(n >>> 1) + (n & 1);
    return r;
  }
}
Remove ads

Andere coderingen

De normale binaire codering gaat uit van "gewogen" posities. Hierbij wordt over het algemeen het 'big-endian' principe gebruikt, zie endianness.

De Gray-code is een manier van coderen waarbij van ieder opeenvolgend paar getallen slechts één enkele bit verschilt.

Trivia

"Er zijn 10 soorten mensen: Mensen die binair kunnen tellen en mensen die dat niet kunnen." is een bekende inside joke.

Zie ook

Pagina's die met Binair beginnen 

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.

Remove ads