Ettor och nollor

Att datorer handlar om ettor och nollor har nog alla hört. Men hur kan ettor och nollor bli till bilder, musik, text och färg?
I denna Kjellfakta sammanfattar vi vad som ligger till grund för hur det fungerar.

Digital mosaik

Vid en närmare titt på bilden i en bildskärm ser vi att den är uppbyggd av små punkter där varje punkt har sin specifika färgvalör. Datorn "målar" bilden som vi gör med det där konstnärs-kittet, där numrerade områden på en duk ska målas med färg från en burk med samma nummer.

Faktum är att datorn bygger upp allt, inte bara bilder, som en digital mosaik. Varje bild, textmassa eller ljud består av småbitar som representeras av ett nummervärde och som när de sätts samman blir till bilder, texter och musik.

Logik

För att bygga upp logik krävs definitiva sanningar. Logik i datorer bygger på två definitiva spänningsnivåer - på eller av. Om vi går ner på djupet i en dator och sätter ett mätinstrument på en punkt i en logikkrets, hittar vi dessa två tillstånd. Beroende på vilket värde som för tillfället råder, kan punkten vi mäter på, antingen vara 0 eller 5 Volt (spänningsnivån är för det teoretiska resonemanget oväsentligt. I dag används även 3,3 Volt).

Spänningstillstånden representeras av siffrorna ett och noll. Varje punkt som kan anta värdet ett eller noll kallas för bit [bitt], från engelskans BInary digiT. Med en bit kan man presentera information som har två definitiva tillstånd. T.ex. skulle värdena ja och nej kunna representeras av ett och noll. För att kunna lagra flera olika värden med utgångspunkt från endast två tillstånd låter man grupper om flera bitar åt gången representera ett specifikt värde.

Binära tal

När vi som vanligt räknar med vårt decimalsystem använder vi ju tio unika siffror - 0 till 9. Så fort vi går över nio lägger vi till en etta i positionen för tiontalssiffror. Att räkna med bara två siffror, noll och ett, (det binära talsystemet) når vi nästa steg redan efter en uppräkning på två siffror. Studera mönstret för detta nedan:

Om vi använder 1 bit kan vi representera två olika värden:

0 = 0
1 = 1

Om vi ökar till 2 bitar kan vi representera fyra olika värden:

0 = 00
1 = 01
2 = 10
3 = 11

Med 3 bitar får vi åtta olika unika värden:

0 = 000
1 = 001
2 = 010
3 = 011
4 = 100
5 = 101
6 = 110
7 = 111

I tabellen nedan använder vi fyra bitar och får 16 unika binära tal.

Decimalt tal

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Binärt tal

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Fyra bitar kan representer 16. Fem 32 o.s.v. Vi ser att för varje bit vi lägger till, fördubblas antalet variationer.
1, 2, 4, 8, 16, 32, 64 o.s.v.

En grupp på 8 bitar ger 256 möjliga variationer. En grupp på 8 bitar har fått ett eget namn - Byte (Stort B brukar beteckna Byte medan litet b betecknar bit). En parentes i sammanhanget är att då vi börjar använda prefixen kilo(kB)-, mega(MB)-, giga(GB)- och terabyte(TB) blir det mer än vad prefixet säger:

En kilobyte blir inte 1000 Bytes utan:2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 1024 Bytes

Avvikelsen blir större ju högre upp vi kommer.

1 KB (1024 x 1) 1024 Bytes
1 MB (1024 x 1024) 1.048.576 Bytes
1 GB (1024 x 1024 x 1024) 1.073.741.824 Bytes
1 TB (1024 x 1024 x 1024 x 1024) 1.099.511.627.776 Bytes

Digitala bokstäver

Decimalsiffran 75 blir i binärt tal 01001011 och har bestämts att representera bokstaven versalt K på på tangentbordet. Det händer ibland att våra svenska å ä och ö bli representerade av helt fel tecken. Det beror på att datorn använder fel referens för att "tolka signalerna" från tangentbordet. Det finns regler för hur koder ska representera alla världens bokstäver, siffror och tecken. Läs mer om detta på www.unicode.org.

Digitalt ljud

Nummerserier av ettor och nollor kan på samma sätt som för teckenkodning, användas för att göra digitala avbilder av ljud.

Det analoga ljudet:

...och dess motsvarighet digitalt:

Det finmaskiga nätet representerar den digitala samplingsfrekvensen och upplösningen. Ju tätare det är längst tidsaxeln, desto noggrannare blir detaljåtergivningen. Ju finare steg längst upplösningsaxeln desto fler nyanser kan vi registrera. Vi ser i exemplet ovan, att det hinner hända mer i musiken än vad som registreras digitalt.

För att få en digital avbild av ett analogt ljud i CD-kvalité måste mätningar av det analoga ljudet ske så ofta som var 0,000023:e sek eller 44100 gånger i sekunden (44,1 kHz). Det är denna metod av kontinuerlig avmätning som kallas sampling (från engelskans sample = provtagning). I musikstudiosammanhang använder man ofta en samplingfrekvens på 96 kHz i stället för 44,1 kHz.

Det digitalt lagrade ljudet har tillgång till ett visst antal bitars upplösning. 8 bitars upplösning ger en teoretisk möjlighet till 256 olika volymnivåer vid varje enskilt samplingstillfälle.

För att utnyttja alla steg i upplösningen (bitrate) är det viktigt att anpassa nivån på den analoga insignalen, annars missar man möjlighet att täcka fler nyanser i musiken. Ju högre bitrate, desto fler möjliga nyanser (bättre dynamik i ljud). Ljudfilens storlek växer i takt med ökad bitrate.

Digital bild

På samma sätt som för ljud och text, kan bilder byggas upp av punkter med kod för specifik plats och färg.

Vektorbild

Det finns även en metod där bilder byggs upp genom att man anger bildelementets alla yttre och inre former och färger med enkla matematiska koordinater. Detta kallas vektorgrafik. Vektorbilder är ofta mindre detaljrika och fullt skalbara utan att de får "taggiga kanter". Ett vanligt användningsområde för vektorbilder är logotyper och visningsformat för internet - SVG och Flash.
Fördelen med vektorbilder är de kräver mindre datorminne än bilder som byggs upp av punkter.


Vektorbild