Deze woorden heb je waarschijnlijk al eerder gezien. Bits en bytes zijn overal. Je ziet ze wanneer je je RAM controleert. Je ziet ze als je naar de bestandsgroottes kijkt. Advertenties gebruiken ze ook. Ze zullen je vertellen dat een computer een 32-bits processor heeft. Ze zullen zeggen dat het 64 megabyte geheugen heeft. Ze zouden 2,1 gigabyte aan opslagruimte kunnen noemen.

Het begrijpen van deze termen is niet alleen voor tech-nerds. Het helpt u te begrijpen wat uw computer eigenlijk doet. In deze handleiding worden de basisprincipes van binaire getallen uitgelegd. Het laat zien waarom we bits gebruiken en hoe ze bytes vormen.

Decimale getallen en plaatswaarde

Om stukjes te begrijpen, begin je met getallen die je al kent. Cijfers zijn de bouwstenen van decimale wiskunde. Eén cijfer heeft een waarde van 0 tot en met 9. We groeperen deze cijfers om grotere getallen te maken.

Neem 6.357 als voorbeeld. Het heeft vier cijfers. De 7 staat op de plaats van de eenheden. De 5 staat op de plaats van de tientallen. De 3 staat op de plaats van de honderdtallen. De 6 staat op de plaats voor duizendtallen. Je kunt dit wiskundig uitschrijven.

(6 * 1000) + (3 * 100) + (5 * 10) + (7 * 1) = 6357

Je kunt ook machten van 10 gebruiken. Het symbool ^ betekent ‘verheven tot de macht van’. Dus 10 kwadraat is 10^2. De formule wordt:

(6 * 10^3) + (3 * 10^2) + (5 * 10^1) + (7 * 10^0) = 6357

Elk cijfer is een placeholder. Het vertegenwoordigt de volgende hogere macht van 10. We beginnen met 10 tot de macht nul.

Dit voelt normaal. We gebruiken dagelijks base-10 -systemen. Dit gebeurde waarschijnlijk omdat mensen tien vingers hebben. Als we acht vingers hadden, zouden we grondtal 8 kunnen gebruiken. Je kunt getalstelsels met elk grondtal bouwen. Computers gebruiken toevallig een andere. Ze gebruiken het binaire getalsysteem. Dit wordt ook wel basis-2 genoemd.

Het Base-2-systeem en de 8-bit byte

Computers gebruiken basis-2. Het is gemakkelijker om te bouwen met de huidige technologie. Een base-10-computer zou extreem duur zijn. Een base-2-computer is relatief goedkoop. Dit is de reden waarom binair de digitale wereld regeert.

Binair gebruikt binaire cijfers. Dit worden bits genoemd. Het woord komt van “Binary digIT.” In tegenstelling tot decimale cijfers hebben bits slechts twee waarden. Ze kunnen 0 of 1 zijn. Een binair getal ziet eruit als 1011.

Hoe lees je het? Je gebruikt dezelfde logica als decimale wiskunde. Vervang gewoon basis-10 door basis-2.

(1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (1 * 2^0) = 8 + 0 + 2 + 1 = 11

Het binaire getal 1011 is decimaal gelijk aan 11. Elke bit heeft een waarde die toeneemt met machten van 2. Tellen in binair getal is eenvoudig. Zo zien de eerste paar cijfers eruit.

0 = 0
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
8 = 1000
9 = 1001
10 = 1010
11 = 1011
12 = 1100
13 = 1101
14 = 1110
15 = 1111
16 = 10.000
17 = 10001
18 = 10010
19 = 10011
20 = 10100

Let op de overdracht. Bij 2 wordt het binaire systeem voor het eerst overgedragen. Als een bit 1 is en je voegt er 1 aan toe, dan wordt het 0. Het volgende bit wordt 1. De sprong van 15 naar 16 laat dit duidelijk zien. De vier bits rollen over van 1111 naar 10000.

Bits werken zelden alleen. Computers bundelen ze in groepen. Deze groepen worden bytes genoemd. Een standaardbyte heeft 8 bits.

Waarom 8 bits? Het is hetzelfde als vragen waarom er twaalf eieren in een dozijn zitten. Er was geen strikte wiskundige reden. Mensen hebben jarenlang genoegen genomen met 8 bits. Het werkte goed genoeg.

Met 8 bits kun je 256 verschillende waarden weergeven. Deze variëren van 0 tot 255.

0 = 00000000
1 = 00000001
2 = 00000010

254 = 11111110
255 = 11111111

Dit systeem schaalt snel op. CD’s gebruiken 2 bytes per sample. Dat zijn 16 bits. Het bereik gaat van 0 tot 65.535.

0 = 0000000000000000
1 = 0000000000000001
2 = 0000000000000010

65534 = 1111111111111110
65535 = 1111111111111111

Bytes worden op veel specifieke manieren gebruikt. We zullen hierna naar een van die toepassingen kijken.

Hoe ASCII uw tekst daadwerkelijk opslaat

Uw computer slaat geen brieven op. Het slaat cijfers op.

Wanneer u een document typt, vertaalt de toepassing die toetsaanslagen in een specifieke code. De standaard voor deze vertaling is de ASCII-tekenset. In dit systeem wordt elke binaire waarde van 0 tot 127 toegewezen aan één enkel teken. Hoewel moderne systemen dit vaak uitbreiden tot 256 tekens om letters met accenten en speciale symbolen te kunnen verwerken, blijven de kern 128 de basis.

Overweeg een eenvoudig tekstbestand gemaakt in Windows Kladblok. Als u ‘Vier score en zeven jaar geleden’ typt, wijst de software precies één byte geheugen toe voor elk teken. Dit geldt ook voor de spaties tussen woorden.

Probeer het zelf. Maak een bestand met de naam getty.txt dat die zin bevat. Bewaar het. Controleer de bestandsgrootte. Je zult zien dat het precies 30 bytes is. Voeg een woord toe. De maat springt. Zo lineair is het. Elk karakter verbruikt een byte.

Als u dit bestand in een hex-editor opent, ziet u ‘Vierscore’ niet. Je ziet een stroom decimale getallen:

70 111 117 114 32 97 110 100 32 115 101 118 101 110

Zoek deze waarden op in een ASCII-tabel. U vindt er een directe één-op-één correspondentie. Het getal 32 vertegenwoordigt een spatie. Het getal 70 vertegenwoordigt een “F”. Als je technisch nauwkeurig wilt zijn, worden die decimalen omgezet in binair getal. 32 wordt 00100000. Dat is wat de hardware daadwerkelijk verwerkt.

De eerste 32 codes (0–31) zijn niet-afdrukbare controletekens. Ze beheren zaken als regelretouren en regelfeeds. Het spatieteken volgt op 32. Dan komen leestekens, cijfers, hoofdletters en kleine letters.

Bytevoorvoegsels en binaire wiskunde begrijpen

Zodra je met meer dan een paar bytes te maken hebt, heb je schaal nodig. We gebruiken voorvoegsels zoals kilo, mega en giga.

Dit zijn geen metrische voorvoegsels. Het zijn machten van twee.

  • Kilo (K): 2^10 = 1.024 bytes
  • Mega (M): 2^20 = 1.048.576 bytes
  • Giga (G): 2^30 = 1.073.741.824 bytes
  • Tera (T): 2^40 = 1.099.511.627.776 bytes

Hogere ordes zoals Peta, Exa, Zetta en Yotta zetten dit patroon voort. Een terabyte database is gebruikelijk in bedrijfsomgevingen. Er bestaat waarschijnlijk een databank van petabytes binnen de overheidsinfrastructuur.

Als iemand zegt dat een harde schijf 2 gigabyte groot is, bedoelen ze precies 2.147.483.648 bytes. Ongeveer. Maar dichtbij genoeg voor marketing. Om 2 GB te vullen, hebt u slechts drie standaard cd’s van 650 MB nodig.

Binaire wiskunde weerspiegelt decimale wiskunde. De regels zijn identiek. Je voegt toe van rechts naar links. Je draagt ​​het over als je de limiet overschrijdt. Het enige verschil is de limiet. In decimalen is de limiet 9. In binair is de limiet 1.

Neem een decimaal optellingsprobleem: 452 + 751.
Begin goed. 2 + 1 = 3.
Volgende kolom. 5 + 5 = 10. Schrijf 0, draag 1.
Volgende. 4 + 7 + 1 (dragen) = 12. Schrijf 2, draag 1.
Finale. 0 + 0 + 1 (dragen) = 1.
Resultaat: 1203.

Binaire optelling volgt dezelfde logica.
010
+ 111


1001

Meest rechtse kolom: 0 + 1 = 1.
Tweede kolom: 1 + 1 = 10. Schrijf 0, draag 1.
Derde kolom: 0 + 1 + 1 (carry) = 10. Schrijf 0, carry 1.
Laatste kolom: 0 + 0 + 1 (carry) = 1.
Resultaat: 1001.

Vertaal terug naar decimaal. 2 + 7 = 9. De wiskunde geldt.

Bits zijn binaire cijfers. Ze bevatten 0 of 1. Bytes zijn groepen van acht bits. Binaire wiskunde is slechts decimale wiskunde met strengere beperkingen.

Zo simpel is het. Of tenminste, zo verkopen de leerboeken het. De realiteit van hoe deze gegevens door silicium bewegen, hoe het wordt afgebroken en hoe we het interpreteren, is rommeliger. Maar de basis blijft binair. Nul of één. Niets anders.