4450: Getalrepresentatie en codes

Normale (dus digitale) computers werken alleen met getallen! Alle informatie, of die nu numeriek is of niet, wordt gerepresenteerd door getallen; zelfs alle programmatuur bestaat uit getallen. Het kleinste getal is een "Bit": het kent alleen de waarde 0 of 1. Dit is handig omdat bij digitale elektronica dit als twee verschillende spanningen kan worden weergegeven (bv. 0 of 3 V).

Getallen

BinairDecHexKar
0000000000
0000010155
01000001650x41'A'
01100001970x61'a'
111000012250xE1'á'
111111112550xFF

Losse Bits zijn voor een mens wat onoverzichtelijk en daarom worden ze doorgaans gecombineerd tot groepjes van 8 Bits, de "Bytes". Zo'n Byte kan 256 verschillende waarden hebben: 0 tot 11111111 Binair, 0 tot 255 Decimaal, 0 tot 0xFF Hexadecimaal of het kan iets anders, b.v. een Karakter voorstellen. Heeft men grotere getallen nodig dan gebruikt men meerdere Bytes op opeenvolgende locaties, maar dan moet goed afgesproken zijn welk Byte vooraan staat (vergelijk: '39' spreken we in NL uit als '9 en 30', in EN als '30 9'). Met deze zogeheten "Endianness" moet rekening worden gehouden waar verschillende systemen gegevens uitwisselen, zoals bij het internet. Veelvouden van Bytes geeft men doorgaans aan op de SI-wijze, maar bij data-grootten ook vaker in machten van 1024 (iKB) ipv. 1000 (kB).

Karakters en Strings

Alfanumerieke karakters werden vanaf de 60'er jaren in Bytes opgeslagen, waarvan slechts 7 bits werden gebruikt: o.a. in "ASCII-code". Vanaf de 80'er jaren zijn er veel tekensets bijgekomen, de zogeheten "Codepages", die soms ook meerdere bytes per karakter gebruiken; zonder de juiste codepage is de betekenis van een karakter-Byte niet zeker. Ook bij tekst-strings (tekenreeksen bv. zinnen) moeten alle afspraken eenduidig zijn: soms is de afspraak dat het eerste Byte het aantal karakters in de string aangeeft en soms wordt een string afgesloten met een speciaal gereserveerd karakter.

Programma codes

Programma's zijn lijsten met getallen die in de computer opgevat worden als opdracht codes voor de CPU. Als een 8-bit CPU een instructie uit het geheugen haalt is dat normaliter één Byte. Uit het bit-patroon kan worden afgeleid of er extensie bytes moeten worden opgehaald. Moderne CPU's kunnen zelfs 64-bits instructies (8 bytes, nog exclusief extensies) gebruiken.