BlinfoTec |
(Door Paul Erkens)
Klik op skip tekst om meteen naar de links te gaan, of druk op 'x'.
Eerst iets over bits en bytes. Een bit is een hardwarematig elementje in het geheugen van je computer, dat spanning of geen spanning heeft. Spanning leggen we uit als: "het bit heeft waarde 1", geen spanning geeft bitwaarde 0. Acht bitjes bij elkaar heet een byte. (Vroeger schreef je overigens niet "byte", maar "bite", voor "BInary Term".)
In een byte kun je, met de acht bitjes die er daar zijn, van alles opslaan. Een paar voorbeelden om dat uit te leggen. Volgens een bepaalde rekenmethode kun je een gewoon getal, bijvoorbeeld 115, omzetten in een combinatie eentjes en nulletjes, zodat je ze in een geheugenbyte kunt opslaan. Natuurlijk is daar een bovengrens aan, omdat je in een byte maar acht bitjes ter beschikking hebt. Neem je niet 1 maar 2 of meer bytes geheugenruimte, dan kun je daar ook hele grote getallen in opslaan.
Zou je een gewone letter een bepaald nummer geven, dan kun je via het opslaan van nummers ook teksten opslaan in een serie bytes. De meest gangbare codering waarbij letters van het alfabet, leestekens en cijfers een nummertje krijgen om opgeslagen te worden heet ASCII. Dit wordt uitgesproken als askie. Sommigen noemen het ask twee, anderen zeggen eskie, maar de juiste naam is askie, met twee i's op het eind. Voor dit verhaal is dat verder niet zo interessant, maar bij geval je benieuwd bent: ASCII staat voor American Standard Code for Information Interchange.
Ook kun je er, volgens een bepaalde indeling en rekenkundige manier van opslag, een getal in zetten met een drijvende komma. Een getal als 3.141592654 (toevallig de waarde van het getal pi) kun je zodoende ook al kwijt in een paar bytes bij elkaar. Gehele getallen, getallen met drijvende komma en tekst, het kan allemaal worden opgeslagen in bytes; Elementjes in het geheugen van je pc die 8 kleine condensatortjes bevatten waar al dan niet spanning in gezet is.
Beeld kun je ook opslaan in bytes. Beeld is opgebouwd uit horizontale lijnen, waarvan er nogal wat op je beeldscherm passen. Elke lijn is weer ingedeeld in kleine stukjes. 1 Zo'n stukje is een beeldpuntje op het scherm, een pixel genoemd. Een pixel is er wel of hij is er niet. Pixels die aan staan vormen samen het zichtbare beeld op het scherm. Als je dus een georganiseerde manier kunt bedenken om pixels die aan staan als eentjes, en pixels die uit staan als nulletjes netjes bij elkaar in een serie bytes te stoppen, kun je ook beeld opslaan. Als je kleuren een nummer geeft kun je ook die in digitale vorm bewaren.
Geluid leent zich er eveneens voor om opgeslagen te worden in bytes. We zullen later zien hoe dat werkt, want ook geluid laat zich vertalen in eentjes en nulletjes.
Je ziet dat een bit, zo'n klein dingetje waar spanning of geen spanning in zit, een erg belangrijk dingetje in je computer is. Acht bitjes bij elkaar heet een byte zoals gezegd, en als je maar genoeg bytes bij elkaar hebt, kun je bijna alles opslaan wat je maar kunt bedenken: teksten, foto's, tekeningen, muziek, geluid, spraak, rekentabellen en ga zo maar door. In je computer zit een vreselijk grote hoeveelheid bytes. Tegenwoordig wel een miljard of nog meer. Omdat we niet graag in honderden miljoenen spreken, zijn er naast bytes ook kilobytes, megabytes, gigabytes, terabytes en exabytes bedacht.
Een kilobyte, afgekort KB, is van oudsher niet 1000, maar 1024 bytes. Wij mensen kennen het decimale (dus tientallig) stelsel met cijfers 0 t/m 9, maar de computers kennen enkel het tweetallig stelsel met 2 cijfers: de 0 en de 1. Een enkel bitje dat 0 of 1 is is niet zo erg zinvol. Het combineren van grotere groepen nullen en enen maakt pas dat je er zinvolle dingen mee kunt doen. Om de computer met ons tientallig stelsel te laten rekenen, is heel wat werk nodig.
De processor zelf werkt namelijk met machten van 2, en dat is voor het optellen van bijvoorbeeld 9 plus 10 niet zo erg handig om mee te moeten werken. Toch gebeurt dat, omdat de processor het binaire systeem gebruikt. Anders zou die, qua wiskundige hardware, te complex moeten worden. De omzetslag van een simpele optelsom voor ons vanuit het binaire stelsel is een hoofdstuk apart, wat we hier maar fijn laten zitten. Het blijft gaan om machten. Omdat er maar twee cijfers zijn waaruit het talstelsel waarmee de processor werkt is opgebouwd, gaan alle interne berekeningen in de processor met machten van 2. Daar zit veel meer achter, maar onthoud dit voorlopig gewoon als feit. Machten van twee liggen aan de basis van alle rekenkundige bewerkingen van de processor.
Machtsverheffen is het op een rij zetten van steeds hetzelfde getal, met vermenigvuldigingstekens ertussen. Een getal kun je tot een bepaalde macht verheffen en daar komt dan iets uit.
2 Tot de macht 3 schrijf je uit als drie keer het getal twee achter elkaar, met vermenigvuldigingstekens ertussen. Dus: 2 keer 2 keer 2. En dat is acht. Dus: twee tot de macht drie is acht. Twee tot de macht vier, ook wel twee tot de vierde genoemd, is 16. Twee Maal 2 maal 2 maal 2. En zo kun je door gaan. Twee tot de vijfde zijn 5 tweeën op een rij met vermenigvuldigingstekens ertussen en dat reken je dan uit.
Maar, er zijn een paar rare dingen met machtsverheffen. Een getal tot de macht 1, hoe moet dat dan? Je hebt toch minimaal twee getallen nodig om te kunnen vermenigvuldigen. Maar bij iets tot de macht 1 loop je al vast. Hoe nu verder?
Wel: er is een simpele afspraak gemaakt. Die zegt: elk getal tot de macht 1 is gelijk aan zichzelf. Dus: 4 tot de macht 1 is 4, 6 tot de macht 1 is gewoon 6.
Je kunt een getal ook tot de macht 0 verheffen. Logischerwijs zou dat helemaal niet kunnen, maar de wiskunde kent de afspraak dat een getal tot de macht 0, altijd 1 is. 10 Tot de nulde of 2 tot de nulde, het is gewoon 1.
Samenvattend: een getal tot de macht 0 is altijd 1. Een getal tot de macht 1 is bij afspraak altijd gelijk aan zichzelf. Een getal tot de macht twee of hoger is een kwestie van blijven vermenigvuldigen.
Kilobytes en megabytes2 tot de macht 10 is 1024. Vandaar dat het logisch is gebleken, om 1 kilobyte niet gelijk te stellen aan 1000 bytes, maar wel aan 1024 bytes. Intern voor de processor maakt dat het rekenleven een stuk eenvoudiger.
Daarom is 1 megabyte ook niet precies 1 miljoen bytes, maar iets meer. Omdat 1 kilobyte gelijk is aan 1024 bytes, is 1 megabyte weer gelijk aan 1024 maal 1 kilobyte. Dus: 1024 maal 1024 is 1048576 bytes.
De letters k, m en b hebben, afhankelijk van of je ze als hoofd- of kleine letter schrijft, een andere betekenis. Kleine b staat voor bit, hoofdletter B staat voor byte. Kleine k weet ik niet meer, grote K is Kilo. Kleine m is mili, grote M is mega. Mb Is dus megabit, MB is megabyte. Zo verder redenerend is 1024 megabyte weer gelijk aan 1 gigabyte, en 1024 gigabyte is vervolgens een terabyte. Daarboven is nog de exabyte en dan houdt de praktijk wel zo'n beetje op.
Omdat computers tot op heden nog altijd met machten van 2 werken, is aan heel die boel nog altijd niets veranderd. Dit wetend kunnen we een stap verder.