Binaire code is de taal van de computer. Waar wij tellen met tien cijfers, van 0 tot en met 9, gebruikt een computer er maar twee: 0 en 1. Dat komt doordat een computer is opgebouwd uit miljarden piepkleine schakelaars, transistors, die maar twee toestanden kennen: er loopt stroom of er loopt geen stroom. Door die twee toestanden als 0 en 1 te lezen, kan een computer met getallen rekenen en informatie opslaan.
Bits en bytes
Eén 0 of 1 heet een bit, een samentrekking van binary digit. Een enkele bit kan maar twee dingen aangeven, zoals ja of nee. Door bits te combineren, kun je veel meer onderscheiden: met 2 bits heb je 4 mogelijkheden, met 3 bits 8, en met elke extra bit verdubbelt het aantal. Een groep van 8 bits heet een byte en kan 256 verschillende waarden aannemen.
Grotere hoeveelheden geef je aan met voorvoegsels zoals kilobyte, megabyte, gigabyte en terabyte. Daarbij bestaat verwarring: soms rekent men met machten van 1000 en soms met machten van 1024. Om dat te onderscheiden, bestaan ook de termen kibibyte, mebibyte en gibibyte voor de varianten met 1024.
Tellen in het tweetallig stelsel
In ons gewone tientallig stelsel is elke positie tien keer zo veel waard als de positie rechts ervan: eenheden, tientallen, honderdtallen. In het binaire, tweetallige stelsel is elke positie twee keer zo veel waard: 1, 2, 4, 8, 16 enzovoort. Het binaire getal 1011 betekent dus 8 + 0 + 2 + 1 = 11. Met deze regels kan een computer optellen, aftrekken, vermenigvuldigen en vergelijken.
Van getallen naar tekst, beeld en geluid
Alles wat een computer verwerkt, wordt eerst omgezet in getallen:
- Tekst: elke letter krijgt een vast nummer volgens een tekenset. ASCII was een vroege standaard; tegenwoordig is Unicode de norm, zodat ook letters met accenten, andere schriften en emoji’s een eigen nummer hebben.
- Afbeeldingen: een foto bestaat uit pixels, en elke pixel krijgt getallen voor de hoeveelheid rood, groen en blauw.
- Geluid: een geluidsgolf wordt vele duizenden keren per seconde gemeten, en elke meting wordt als getal opgeslagen.
Hoe die getallen in een bestand worden georganiseerd, bepaalt het bestandsformaat.
Hexadecimaal
Lange reeksen nullen en enen zijn voor mensen lastig te lezen. Daarom gebruiken programmeurs vaak het zestientallige of hexadecimale stelsel, met de cijfers 0 tot en met 9 en de letters A tot en met F. Eén hexadecimaal cijfer staat precies voor 4 bits, waardoor een byte met twee tekens te schrijven is.