Binære, oktale, desimale og heksadesimale tallsystemer og konvertering mellom dem.
Verden bygd på to tall
Nesten alt du bruker i løpet av en dag – mobilen, klokka, bilen, betalingsterminalen – er digitalt. Men hva betyr egentlig «digitalt»? Hemmeligheten er at all denne teknologien bygger på bare to verdier: 1 og 0, på og av. Det høres nesten for enkelt ut til å være sant, men nettopp denne enkelheten er styrken.
Mens analog elektronikk jobber med signaler som glir jevnt opp og ned, jobber digital elektronikk med diskrete verdier som hopper mellom to nivåer. Denne forskjellen er grunnen til at digitale systemer er så pålitelige: et signal som bare skal være enten høyt eller lavt, er mye lettere å skille fra støy enn et som kan ha en hvilken som helst verdi.
I dette kapittelet skal vi forstå fundamentet. Vi ser forskjellen på analoge og digitale signaler, lærer hvordan tall skrives i totallssystemet og det heksadesimale systemet, og møter de logiske portene – AND, OR, NOT og XOR – som er de minste byggeklossene i ethvert digitalt system.
Analogt og digitalt – to slags signaler
La oss starte med å skille de to verdenene. Et analogt signal kan ha en hvilken som helst verdi innenfor et område. Temperaturen ute er et godt eksempel: den kan være 15,3 grader, eller 15,4, eller hvilken som helst verdi imellom. Lysstyrke, lydvolum og vekt er like glidende.
Et digitalt signal har derimot bare to nivåer: høy eller lav, 1 eller 0. Vi kaller dem binære signaler. Hvorfor velger moderne datamaskiner det digitale? Fordi det er lettere å behandle, mer motstandsdyktig mot støy, enklere å lagre og kopiere uten feil, og kan representere all slags informasjon. I praksis defineres nivåene med spenning: en logisk 0 ligger gjerne mellom 0 og 0,8 V, mens en logisk 1 ligger mellom 2 og 5 V. Området imellom unngås, slik at signalet alltid er tydelig enten det ene eller det andre.
Tenk på forskjellen slik: en lysbryter er digital – den er på eller av. En lysdemper er analog – den kan stå i en hvilken som helst stilling. Begge styrer lys, men på helt forskjellige måter. Det er denne grunnleggende todelingen mellom det kontinuerlige og det diskrete som hele resten av kapittelet bygger på.
Tall med bare nuller og enere
Når en datamaskin bare kjenner 1 og 0, hvordan kan den da telle og regne? Svaret er det binære tallsystemet, base 2. Akkurat som i vårt vanlige titallssystem har hver posisjon en verdi – men i stedet for potenser av 10 bruker vi potenser av 2.
La oss lese binærtallet . Fra høyre representerer posisjonene , altså 1, 2, 4 og 8. Vi får i desimal. Et annet eksempel: . Slik oversetter vi fra binært til vanlige tall – bare legg sammen posisjonsverdiene der det står 1.
Den andre veien, fra desimalt til binært, deler vi gjentatte ganger på 2 og noterer restene. Ta tallet 25: rest 1, rest 0, rest 0, rest 1, rest 1. Leser vi restene baklengs, får vi .
Binærtall blir fort lange, så programmerere bruker ofte det heksadesimale systemet, base 16, som en kompakt snarvei. Det bruker sifrene 0–9 og bokstavene A–F, der A = 10, B = 11, og så videre opp til F = 15. Det fine er at fire binære siffer passer nøyaktig til ett heksadesimalt: , og . Et tall som blir i desimal, eller i binær.
Portene som bestemmer
Nå har vi tallene, men hva er det som faktisk gjør noe med dem? Svaret er logiske porter – små elektroniske kretser som tar ett eller to binære signaler inn og gir ett binært signal ut. Det finnes noen få grunnleggende, og sammen kan de bygge hvilken som helst digital funksjon.
AND-porten (OG) gir 1 bare hvis alle inngangene er 1. Tenk på en dør som krever både riktig kode OG nøkkel. OR-porten (ELLER) gir 1 hvis minst én inngang er 1 – som en alarm som skal gå hvis enten døren eller vinduet åpnes. NOT-porten (IKKE) snur signalet, så 0 blir 1 og 1 blir 0 – nyttig for en utelampe som skal tenne når det IKKE er lyst ute. Og XOR-porten (eksklusiv ELLER) gir 1 bare når inngangene er forskjellige; den skiller seg fra OR ved at .
For å holde styr på hva en port gjør, bruker vi en sannhetstabell som lister opp utgangen for hver kombinasjon av innganger. For AND blir utgangen 1 kun i den ene raden der både A og B er 1. Resultatet av er for eksempel 0, fordi ikke alle inngangene er 1.
Når vi kobler porter sammen, kan vi løse ekte problemer. Tenk på en bil som bare skal starte hvis nøkkelen er i tenningen OG enten setebeltet er festet ELLER passasjersetet er tomt. Med inngangene N (nøkkel), S (setebelte) og T (tomt sete) blir uttrykket . Vi trenger altså en OR-port for og en AND-port som kombinerer dette med nøkkelsignalet. Bak alt dette ligger boolsk algebra, matematikken George Boole utviklet på 1800-tallet, med regler som De Morgans lover som lar oss forenkle slike uttrykk og bruke færrest mulig porter.
Oppsummering
Vi har lagt grunnlaget for hele den digitale verdenen. Analoge signaler glir kontinuerlig, mens digitale signaler kjenner bare to nivåer – 1 og 0 – noe som gjør dem robuste mot støy og lette å lagre og kopiere. Tall skrives i det binære systemet med potenser av 2, der vi konverterer til desimalt ved å legge sammen posisjonsverdiene og til binært ved å dele gjentatte ganger på 2. Det heksadesimale systemet gir en kompakt skrivemåte, der fire binære siffer tilsvarer ett hex-siffer.
De logiske portene er byggeklossene: AND gir 1 når alle er 1, OR når minst én er 1, NOT inverterer, og XOR gir 1 når inngangene er forskjellige. Ved å koble porter sammen og bruke boolsk algebra kan vi designe alt fra en alarm til en bilstartlås – og til sjuende og sist hele datamaskiner.
Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.