Binair
Van Wikipedia
Getalsystemen |
---|
Het binaire of tweetallige getalsysteem 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 genoemd.
Binair | Decimaal |
---|---|
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | 10 |
1011 | 11 |
1100 | 12 |
1101 | 13 |
1110 | 14 |
1111 | 15 |
1 + 1 = 10 | 1 + 1 = 2 |
101 × 101 = 11001 | 5 × 5 = 25 |
In dit stelsel staat bijvoorbeeld 110 voor het getal 6 in het decimale stelsel.
Omdat de geheugencellen van computers twee waarden kunnen aannemen, is er sprake van binaire voorstelling van de opgeslagen informatie. Daarom worden getallen in computers intern voorgesteld als binaire getallen. Voor de buitenwereld worden deze getallen vertaald naar het hexadecimale of het octale stelsel, die beide nauw verwant zijn met het binaire. Zie ook Bcd code, als een tussenvorm tussen decimaal en binair.
Het octale en hexadecimale stelsel worden door computerprogrammeurs gebruikt bij taken waarbij ze de bitconfiguratie van het getal moeten kunnen zien, omdat octale en hexadecimale getallen gemakkelijk uit binaire getallen zijn af te leiden, nl door de binaire cijfers in groepjes van 3 (octaal) of 4 (hexadecimaal) te nemen en deze groepjes van 3 c.q. 4 binaire cijfers steeds naar één octaal c.q. hexadecimaal cijfer te vertalen. Dit principe geldt voor alle getalstelsels waarvan het aantal cijfers een macht van twee is.
Inhoud |
[bewerk] 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.
Binair | 2(positie van de 1) - 1 | Decimaal | Binair | 2(positie van de 1) - 1 | Decimaal |
---|---|---|---|---|---|
100000 | 25 | 32 | |||
010000 | 24 | 16 | 010000 | 24 | 16 |
001000 | 23 | 8 | |||
000100 | 22 | 4 | 000100 | 22 | 4 |
000010 | 21 | 2 | |||
000001 | 20 | 1 | 000001 | 20 | 1 |
111111 | 25+24+23+22+21+20 | 63 | 010101 | 24+22+20 | 21 |
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 wordt 010101 16 + 4 + 1 = 21 in decimale waarden.
[bewerk] Eenvoudig omrekenen
In | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | Uit |
---|---|---|---|---|---|---|---|---|---|---|
1101010 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | =106 |
64 | +32 | +8 | +2 | |||||||
100010000 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | =272 |
256 | +16 | |||||||||
57 | -32 | -16 | -8 | 0 | 0 | -1 | =111001 | |||
1 | 1 | 1 | 0 | 0 | 1 |
Bovenstaande tabel is een eenvoudig hulpmiddel voor het omrekenen van binair naar tientallig en andersom. Stel we hebben het binaire getal 001101010. We vullen dit in de tabel in. Bij elke 1 kijken we naar de waarde in de bovenste rij. Bij het voorbeeld zijn dit de waarden 64, 32, 8 en 2. Door deze op te tellen weten we hoeveel 001101010 in het tientalligstelsel is, namelijk 106. Het tweede voorbeeld - 100010000 - wordt dan 272.
Andersom is iets moeilijker. Stel we willen het getal 57 omzetten. Dan zoeken we eerst het grootste getal in de bovenste rij dat kleiner is dan of gelijk aan 57, namelijk 32. Op die plek zetten we al een 1. Dit wordt dan (000)100000. Dan trekken we 32 van 57 af, dat wordt 25. Voor dit getal zoeken we weer het grootste getal in de bovenste rij dat kleiner is dan of gelijk aan 25, namelijk 16. Ook voor de 16 zetten we een 1, dus (000)110000. We trekken 16 van 25 af, dat wordt 9. We zoeken weer het grootste getal in de bovenste rij dat kleiner is dan of gelijk aan 9, namelijk 8. Voor deze zetten we weer een 1. (000)111000. 9-8=1. Nu hoeven we niet verder te zoeken, want de 1 is makkelijk gevonden. Ook deze wordt toegevoegd. Zo hebben we relatief eenvoudig berekend dat 57 binair 000111001 ofwel 111001 is.
[bewerk] Andere coderingen
De normale binaire codering gaat uit van "gewogen" posities. Hierbij wordt over het algemeen het 'little-endian' principe gebruikt: hoe verder een bit naar links staat hoe meer hij meetelt. Apple-computers gebruikten van oudsher op bepaalde punten 'big-endian' codering, waarbij juist de meest significante bit rechts staat.
De Gray-code is een manier van coderen waarbij van ieder opeenvolgend paar getallen slechts één enkele bit verschilt.
[bewerk] Trivia
"There are 10 kinds of people; those who can count binary and those who can't" is een bekend grapje.
Vertaald:
"Er zijn 10 soorten mensen: Mensen die binair kunnen tellen, en mensen die dat niet kunnen."
[bewerk] Zie ook
- Decimaal (10-tallig stelsel)
- Hexadecimaal (16-tallig stelsel)
- Octaal (8-tallig stelsel)