8.2 Tallrepresentasjon og data
Hvordan tall, tegn og bilder lagres binært: 2^n symboler, binær↔desimal↔hex, toer-komplement, flyttall, ASCII/Unicode, RGB og bildestørrelse.
- Tallrepresentasjon står i ~100 % av settene (10 av 10 sittinger i arkivet 2014–2019). Sammen med maskinvare er dette den tyngste av de sju teoriklyngene.
- Sjangeren er A — teori-flervalg om datateknologi, altså «ett riktig alternativ av fire». Her kommer den i to varianter: rene begrepsspørsmål, og regnespørsmål der du må konvertere et tall eller regne ut en bildestørrelse.
- Prioritet: må sitte — det høyeste av bokas tre nivåer («må sitte», «må kunne», «bør kjenne til»).
- Regnespørsmålene er gull verdt: der er svaret objektivt riktig eller galt, og du kan kontrollere deg selv. Alle andre teorispørsmål må du huske.
Om hjelpemidler: eksamen har hjelpemiddelkode D — én bestemt, enkel kalkulator, ingen bøker, ingen andre elektroniske hjelpemidler. Kalkulatoren hjelper deg med og med divisjonen i bildestørrelsen, men den konverterer ikke mellom tallsystemer for deg. Konverteringsmetodene må sitte i hodet og i fingrene.
Ingen minuspoeng fra og med 2015, så kryss alltid av — også når du ikke rekker å regne ferdig.
Kapitlet tar ~60 minutter og går i fem løkker med hvert sitt tidsanslag. Det tåler godt å deles over to økter; det naturlige skillet er etter løkke 3.
Ingen programmeringskunnskap kreves. Du bør være komfortabel med å gange og dele små tall for hånd, og med potenser: betyr «2 ganget med seg selv tre ganger».
- kap. 8.1 — maskinvarekapitlet. Der møtte du prefiksene kilo, mega, giga og tera, som brukes igjen her.
Vil du ha stoffet i en bredere innpakning, dekker IN1020-boka konverteringene med mer drill:
- Tallsystemer og direkte konvertering — binær, desimal og heksadesimal med mange øvingsoppgaver.
- To-er komplement og byte-tolkning — negative heltall binært.
- Tegn, filformater, farger og komprimering — ASCII, Unicode og RGB.
Tilleggslesingen er frivillig. Alt TDT4110 spør om, står her.
Løkke 1 — Bit, byte og regelen om (~12 min)
En lyspåbryter kan stå i to stillinger. Med én bryter kan du signalisere to beskjeder: «kom» eller «kom ikke».
Med to brytere blir det fire kombinasjoner: av-av, av-på, på-av, på-på. Med tre brytere blir det åtte. Hver bryter du legger til, dobler antall kombinasjoner.
Det er hele grunnlaget for hvordan en datamaskin lagrer alt den lagrer. Bryterne er transistorer fra kap. 8.1, og regelen har et navn: .
Ett bit er ett binærsiffer: en verdi som er enten eller . Ordet kommer av binary digit.
Ett bit er den minste informasjonsmengden som finnes. Det svarer til svaret på ett ja/nei-spørsmål, eller til stillingen på én bryter.
Alt annet — tall, tekst, bilder, lyd, programmer — er lange rekker av bit.
Én byte er 8 bit. Det er den vanlige enheten når datamengder måles, fordi ett tegn i den eldste tegnkodingen tar akkurat én byte.
Med 8 bit får du ulike kombinasjoner. En byte kan altså holde et heltall fra til , eller ett tegn fra det utvidede ASCII-settet.
Skrivemåten skiller: liten b betyr bit, stor B betyr byte. «100 Mb/s» (nettverkshastighet) er altså åtte ganger mindre enn «100 MB/s» (lesehastighet fra disk). Dette er en klassisk felle.
Dette er den viktigste enkeltformelen i hele teoridelen, og den går begge veier:
- Framover: «Hvor mange symboler med 6 bit?» .
- Bakover: «Hvor mange bit trengs for 300 symboler?» finn minste der . Siden er for lite og er nok, trengs 9 bit.
Toerpotensene du bør kunne utenat:
| 1 | 2 | 8 | 256 |
| 2 | 4 | 10 | 1 024 |
| 3 | 8 | 12 | 4 096 |
| 4 | 16 | 16 | 65 536 |
| 5 | 32 | 24 | 16 777 216 |
| 6 | 64 | 32 | 4 294 967 296 |
| 7 | 128 |
Fellen ved «bakover»-spørsmål: svaret er alltid det minste som er stort nok, ikke det som er nærmest. For 300 symboler er 8 bit nærmest, men 9 bit er riktig.
- a) 12 symboler
- b) 36 symboler
- c) 64 symboler
- d) 128 symboler
Regnestykket, steg for steg:
Du kan også bygge deg oppover fra en potens du kan: , og en dobling til gir .
De tre gale alternativene er de tre vanligste regnefeilene, og de er verdt å kjenne igjen:
- 12 er . Man ganger i stedet for å opphøye. Dette er den hyppigste feilen på hele spørsmålstypen.
- 36 er . Grunntall og eksponent er byttet om.
- 128 er . Man teller én potens for langt, ofte fordi man begynner på og teller seks doblinger fra to.
Sikringen: skriv ned rekka og tell posisjonene. Den sjette er 64. Det tar fem sekunder og fjerner alle tre feilene.
(Innstegsoppgave, sjanger A — teori-flervalg: ett riktig alternativ av fire.) Hvor mange bit er én byte?
- a) 4 bit
- b) 8 bit
- c) 16 bit
- d) 1 024 bit
Et system skal kunne kode 1 000 forskjellige varenummer. Hvor mange bit trengs som et minimum?
- a) 10 bit
- b) 9 bit
- c) 500 bit
- d) 1 000 bit
Løkke 2 — Binær, desimal og heksadesimal (~18 min)
Tallet 205 betyr «to hundre, null tiere, fem enere». Sifrene har ulik verdi ut fra hvor de står, og verdiene er potenser av ti: .
Det er den eneste ideen du trenger. Et binært tall er nøyaktig det samme, bare med potenser av to. Et heksadesimalt tall er det samme med potenser av seksten.
Denne løkka er den tyngste i kapitlet — og den lønner seg mest. To eller tre av teorispørsmålene på et sett kan være rene konverteringer.
I titallsystemet er grunntallet :
I totallsystemet er grunntallet , i sekstentallsystemet er det . Reglene er ellers identiske.
Notasjon i denne boka: når det kan misforstås, skrives grunntallet som fotskrift — , , . Ellers går det fram av sammenhengen.
Tallsystemet med grunntall 2. Bare sifrene og finnes, og plassverdiene er regnet fra høyre.
Datamaskiner bruker det fordi maskinvaren består av brytere med to stillinger. Det er ingen dypere grunn enn det.
Et binært tall er alltid oppgitt med et bestemt antall bit i praksis — 8, 16, 32 eller 64 — og foranstilte nuller skrives derfor ofte med: i stedet for .
Tallsystemet med grunntall 16. Det trenger seksten sifre, så etter fortsetter man med bokstaver:
| Hex | A | B | C | D | E | F | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Desimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
Heksadesimalt brukes fordi det er kompakt og oversetter rett til binært: ett hex-siffer er nøyaktig fire bit. En byte blir dermed alltid akkurat to hex-sifre, som er langt lettere å lese enn åtte nuller og enere.
Du møter hex i webfargekoder (
#FF8000), i MAC-adresser og i minneadresser.Fire bit kalles en nibble — en halv byte.
Nibbelen er hele broen mellom binært og heksadesimalt: én nibble er nøyaktig ett hex-siffer, fordi .
Det er derfor konverteringen mellom de to systemene er den eneste konverteringen du kan gjøre uten å regne: du bare deler bitrekka i grupper på fire og slår opp.
Eksempel:
| Bit | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| Plassverdi | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| Teller med? | ja | — | ja | ja | — | ja | ja | — |
Kontroll: det største 8-bits tallet er . Får du et svar over 255 fra åtte bit, har du regnet feil et sted.
Metode 1 — trekk fra den største plassverdien. Finn den største toerpotensen som er mindre enn eller lik tallet, sett der, trekk fra, og gjenta.
: største potens er . Sett , rest . Største er . Sett , rest . Største er . Sett , rest . Resten blir nuller:
Metode 2 — del gjentatte ganger på 2 og les restene BAKLENGS.
| Divisjon | Kvotient | Rest |
|---|---|---|
| 22 | 1 | |
| 11 | 0 | |
| 5 | 1 | |
| 2 | 1 | |
| 1 | 0 | |
| 0 | 1 |
Restene lest nedenfra og opp: .
Fellen i metode 2 er å lese restene i den rekkefølgen de kom. Da får du speilvendt, og svaret blir feil. Skriv derfor alltid en pil oppover ved siden av restkolonnen.
Binært hex: del bitrekka i grupper på fire fra HØYRE, fyll på med nuller foran om nødvendig, og oversett hver gruppe.
deles i og . Det gir og , altså A og D:
Hex binært: oversett hvert siffer til fire bit, og la nullene foran stå.
: og , altså . Kontroll mot desimalt: , og . Stemmer.
Fellen er å gruppere fra venstre. gruppert fra venstre gir samme svar fordi lengden er delelig med fire — men gruppert fra venstre gir og , altså , mens det riktige er og , altså . Fra høyre, alltid.
- a) 182 desimalt og
- b) 182 desimalt og
- c) 178 desimalt og
- d) 183 desimalt og
Desimalt (plassverdimetoden):
Heksadesimalt (grupper på fire fra høyre): og . Det gir og , altså .
Kontroll — regn tilbake: . De to svarene stemmer overens, og da vet du at begge er riktige. Denne kryssjekken tar ti sekunder og er verdt hver av dem.
De tre gale alternativene:
- 182 og har riktig desimaltall, men har snudd hex-sifrene. Det er den vanligste fella, og den kommer av å gruppere feil vei eller å skrive gruppene i motsatt rekkefølge.
- 178 og har riktig hex, men har mistet et ledd i addisjonen (, altså firertallet).
- 183 og er gale, men konsistent gale: de svarer begge til , altså mønsteret med det siste bitet lest som 1 i stedet for 0. Alternativet fanger den som leser fort — og det er verdt å merke seg at et alternativ kan henge sammen med seg selv og likevel være galt.
Sensorpoeng: to av de fire alternativene har riktig desimaltall. Regner du bare desimalt og krysser av, har du 50 % sjanse. Regn begge, kryss av, og gå videre.
Hva er i desimaltall?
- a) 43
- b) 53
- c) 61
- d) 106
Hva er i binært?
- a)
- b)
- c)
- d)
Addisjon i totallsystemet følger de samme reglene som i titallsystemet, med bare fire tilfeller:
| Regnestykke | Resultat |
|---|---|
| , og 1 i mente |
Eksempel, :
| Kolonne (fra høyre) | Regnestykke | Siffer | Mente videre |
|---|---|---|---|
| 1 | 1 | 0 | |
| 2 | 0 | 1 | |
| 3 | 0 | 1 | |
| 4 | 0 | 1 | |
| 5 | mente | 1 | — |
Svaret er . Kontroll i desimaltall: , og . Stemmer.
Legg merke til at summen ble fem bit lang. Har maskinen bare fire bit til rådighet, faller den øverste bort — det heter overflyt (engelsk overflow), og resultatet blir da i stedet for 17.
Løkke 3 — Negative tall og desimaltall (~12 min)
Så langt har alle tall vært positive. Men et program må kunne holde like godt som , og maskinvaren har ingen minusknapp — bare nuller og enere.
Løsningen heter toer-komplement, og den er elegant nok til å være verdt de ti minuttene: den lar prosessoren bruke nøyaktig samme addisjonskrets på negative tall som på positive.
— naturlig pausepunkt om du deler kapitlet over to økter er etter denne løkka —
I et fortegnet binærtall er det venstre bitet fortegnsbitet:
- betyr at tallet er positivt eller null.
- betyr at tallet er negativt.
Merk at fortegnsbitet ikke er «en minusknapp» ved siden av tallet. Det er det øverste bitet i selve tallet, og i toer-komplement har det også en tallverdi — en negativ en.
Et fortegnet 8-bits tall dekker til . Et fortegnsløst 8-bits tall dekker til . Samme åtte bit, to ulike tolkninger — og det er alltid programmet, ikke bitene, som avgjør hvilken som gjelder.
Den standardmåten datamaskiner lagrer negative heltall på.
Slik lager du toer-komplementet av et negativt tall, i tre steg:
1. Skriv tallverdien binært med riktig antall bit.
2. Inverter alle bit — bytt hver med og hver med .
3. Legg til 1.
Eksempel, med 8 bit:
| Steg | Resultat |
|---|---|
| 1. binært | |
| 2. invertert | |
| 3. pluss 1 |
Altså er i 8-bits toer-komplement.
Den andre veien — fra bitmønster til tall — bruker samme oppskrift: er fortegnsbitet , inverter og legg til 1, og sett minus foran. inverteres til , pluss 1 gir , altså er tallet .
Hvorfor akkurat dette? Fordi da blir null helt av seg selv i vanlig binæraddisjon: , og den niende biten faller utenfor de åtte. Prosessoren trenger dermed ingen egen subtraksjonskrets.
| Tolkning | Med 8 bit | Generelt med bit |
|---|---|---|
| Fortegnsløs | til | til |
| Fortegnet (toer-komplement) | til | til |
Legg merke til asymmetrien: det finnes ett negativt tall mer enn positivt, fordi null tar opp én av de «positive» plassene. Med 8 bit er lovlig, men er det ikke.
Dette er en fast eksamensfelle: alternativer som sier « til » eller « til » ser like riktige ut, og begge er gale.
To feilkoder dominerer dette kapitlet.
Feilkode #12 — regnefeil i teoridelen. Fire varianter går igjen:
- blandet med eller . er 64, ikke 12 og ikke 36.
- Restene lest feil vei ved divisjonsmetoden desimal binær. De skal leses nedenfra og opp.
- Gruppering fra venstre ved binær hex. Det skal alltid grupperes fra høyre.
- Glemt å dele på 8 i bildestørrelse (løkke 5). Da får du svaret i bit og ikke i byte, altså åtte ganger for stort.
Feilkode #11 — å forveksle tett formulerte alternativer:
- ASCII (utvidet) er 8 bit; Unicode har variabel lengde. Et alternativ som sier at Unicode alltid bruker 16 bit, er den nære distraktoren.
- Fortegnet 8-bits område er til , ikke til .
- Kilo som og kilo som er to ulike ting, og oppgaven sier hvilken som gjelder.
Motgiften mot begge er den samme: regn kontrollen. Nesten alle regnespørsmål i dette kapitlet kan sjekkes ved å regne den andre veien. Det tar sekunder og fanger alle fire regnefeilene.
Bitmønsteret tolkes som et 8-bits fortegnet heltall i toer-komplement. Hvilket tall er det?
- a)
- b)
- c)
- d)
Desimaltall lagres som flyttall (engelsk floating point), etter samme idé som standardform i matematikken: skrives som fortegn, siffer og eksponent.
Et flyttall består av tre felt:
| Felt | Hva det holder |
|---|---|
| Fortegn | ett bit: for positivt, for negativt |
| Eksponent | hvor komma skal flyttes, altså størrelsesordenen |
| Mantisse | selve sifrene i tallet |
To konsekvenser som TDT4110 spør om:
- Flyttall er tilnærminger. De fleste desimaltall kan ikke skrives eksakt med et endelig antall binære sifre, like lite som kan skrives eksakt med endelig mange desimaler. Derfor gir i en datamaskin ikke nøyaktig .
- Flyttall har begrenset presisjon, ikke begrenset område. De rekker svært langt opp og ned i størrelsesorden, men holder bare et bestemt antall gjeldende sifre.
Du skal ikke kunne regne ut et flyttall bit for bit i dette emnet — men du skal kunne de tre feltene og vite hvorfor flyttall er upresise.
Løkke 4 — Tegn: ASCII og Unicode (~8 min)
Bokstaven A er ikke lagret som en bokstav noe sted. Den er lagret som tallet 65, og det er en avtale — en tegnkoding — som sier at 65 skal vises som A.
Hele forskjellen mellom de to store tegnkodingene er hvor mange tegn avtalen dekker.
ASCII har ingen norske bokstaver. æ, ø og å finnes ikke i settet.
Verdier verdt å kjenne: A er 65, a er 97, og sifferet 0 er 48. Merk at stor og liten bokstav ligger nøyaktig 32 fra hverandre.
Den vanligste vestlige varianten heter ISO-8859-1 (også kalt Latin-1), og den har med æ, ø, å, é og andre vesteuropeiske tegn.
Én byte per tegn er hele poenget: en tekstfil på 1 000 tegn tar nøyaktig 1 000 byte.
Begrensningen er like tydelig: 256 plasser rekker ikke til gresk, kyrillisk, arabisk, kinesisk og alle de andre skriftsystemene samtidig. Det er problemet Unicode løser.
Det avgjørende for eksamen er at Unicode ikke har fast antall byte per tegn. Selve nummeret lagres etter en av flere lagringsformer, og den vanligste er UTF-8:
| Tegn | Antall byte i UTF-8 |
|---|---|
A (vanlig ASCII-tegn) | 1 |
æ, ø, å | 2 |
| kinesiske tegn | 3 |
| mange emoji | 4 |
UTF-8 er laget slik at ren engelsk tekst tar nøyaktig like mye plass som i ASCII, mens andre skriftsystemer koster mer. «Worst case» for ett tegn er 4 byte.
Den nære distraktoren: at Unicode alltid bruker 16 bit per tegn. Det gjelder en bestemt lagringsform (UTF-16) for en del av tegnene, ikke Unicode i sin alminnelighet.
- a) Utvidet ASCII bruker 8 bit per tegn, mens Unicode bruker 16 bit per tegn
- b) Utvidet ASCII bruker 8 bit per tegn, mens Unicode bruker fra 1 til 4 byte
- c) Utvidet ASCII bruker 16 bit per tegn, mens Unicode bruker 8 bit per tegn
- d) Begge bruker 8 bit per tegn, men Unicode dekker flere skriftsystemer
Utvidet ASCII er én byte, altså 8 bit, med 256 plasser. Unicode i UTF-8-form bruker mellom 1 og 4 byte per tegn, avhengig av hvilket tegn det er.
- Alternativet med 16 bit for Unicode er den nære distraktoren, og den er farlig fordi den er delvis sann: lagringsformen UTF-16 bruker 16 bit for en stor del av tegnene. Men Unicode i seg selv har ingen fast bredde, og den vanligste formen er UTF-8.
- Alternativet som snur de to er lett å eliminere så snart du husker at ASCII er den eldste og enkleste.
- Alternativet der begge bruker 8 bit motsier seg selv: med bare 256 plasser kan du umulig dekke flere skriftsystemer enn utvidet ASCII gjør.
Metoden i praksis: det siste alternativet kan strykes uten faktakunnskap, bare ved å se at påstanden ikke henger sammen. Det er verdt å lete etter slike i teoridelen — de finnes i nesten hvert eneste sett, og de gjør en 25 %-gjetning til en 33 %-gjetning gratis.
Hvor mange tegn kan kodes med utvidet ASCII (ISO-8859-1)?
- a) 128 tegn
- b) 255 tegn
- c) 256 tegn
- d) 65 536 tegn
Løkke 5 — Bilder, farger og lagringsstørrelse (~10 min)
Et bilde på skjermen er et rutenett av små fargeflekker. Hver flekk heter en piksel, og hver piksel er lagret som et tall som beskriver fargen.
Ganger du antall piksler med antall bit per piksel, har du bildets størrelse i bit. Deler du på 8, har du den i byte. Det er hele regnestykket — og det å glemme den divisjonen er en av de faste eksamensfellene.
En piksel (av engelsk picture element) er ett punkt i et bilde — den minste flaten som kan ha sin egen farge.
Oppløsningen er antall piksler i bredden ganger antall i høyden: betyr 1 920 piksler bortover og 1 080 nedover, altså piksler i alt.
Merk at oppløsningen ikke sier noe om hvor stort bildet er i centimeter. Den sier bare hvor mange punkter det består av.
| Bit per piksel | Antall farger | Typisk bruk |
|---|---|---|
| 1 | 2 | rent svart-hvitt |
| 8 | 256 | gråtoner eller en fargepalett |
| 24 | 16 777 216 | fullfarge, «true color» |
24 bit er tallet du møter oftest, fordi det er 8 bit til hver av de tre grunnfargene i RGB.
Dette er additiv fargeblanding: den gjelder lys, altså skjermer. Alle tre på maksimum gir hvitt; alle tre på null gir svart.
farger, som er langt flere enn øyet kan skille.
CMYK er subtraktiv: blekket trekker fra det hvite lyset som papiret reflekterer. Alle fargene på maksimum gir nesten svart; ingen farge gir papirets hvite.
Den svarte kanalen er med fordi blanding av de tre andre gir en gråbrun tone i praksis, og fordi ren svart trykkfarge er langt billigere enn tre lag blekk.
Regelen for eksamen: RGB for skjerm og lys, CMYK for trykk og blekk.
En webfargekode skriver en RGB-farge som seks heksadesimale sifre etter en firkant: #RRGGBB.
Hvert par er én av grunnfargene, med to hex-sifre som dekker til — altså akkurat én byte.
Eksempel, #FF8000:
| Par | Hex | Desimalt | Betydning |
|---|---|---|---|
| RR | FF | 255 | rød på maksimum |
| GG | 80 | 128 | grønn på halv styrke |
| BB | 00 | 0 | ingen blå |
Det gir en oransje farge. Her ser du hvorfor hex er praktisk: seks tegn i stedet for 24 nuller og enere, og hvert par lar seg lese direkte som en verdi mellom 0 og 255.
Tre steg, alltid de samme:
1. Antall piksler: bredde høyde.
2. Ganger bitdybden. Nå har du størrelsen i bit.
3. Del på 8. Nå har du den i byte.
Eksempel: et bilde på piksler med 24 bit per piksel.
Snarveien er å regne bit per piksel om til byte per piksel først: 24 bit er 3 byte, så . Samme svar, ett regnesteg mindre, og ingen mulighet for å glemme divisjonen.
Fellen — feilkode #12: å stoppe etter steg 2 og svare 120 000. Svaret er da åtte ganger for stort. Spør alltid: ba oppgaven om bit eller om byte?
Merk: formelen gjelder ukomprimert bilde. Et JPEG-bilde av samme oppløsning er langt mindre, fordi det er komprimert — se kap. 8.5.
- a) 307 200 byte
- b) 921 600 byte
- c) 7 372 800 byte
- d) 15 360 byte
Med snarveien: 24 bit er 3 byte per piksel.
Den lange veien gir det samme: bit, og byte.
De tre gale alternativene er de tre klassiske feilene, og legg merke til at alle tre er tall du møter underveis i din egen utregning:
- 307 200 er antall piksler. Man har glemt å gange med bitdybden i det hele tatt.
- 7 372 800 er svaret i bit. Man har glemt å dele på 8 — feilkode #12 i sin reneste form, og den vanligste feilen på denne oppgavetypen.
- 15 360 er . Man har glemt høyden.
Sensorpoeng og strategi: når tre av fire alternativer er mellomresultater fra din egen utregning, hjelper det ikke å «kjenne igjen et tall du fikk». Skriv de tre stegene under hverandre på kladden, og sett en ring rundt det siste. Det tar femten sekunder og er forskjellen på et sikkert poeng og en 25 %-gjetning.
Et ukomprimert gråtonebilde er piksler med 8 bit per piksel. Hvor mange byte trengs?
- a) 60 000 byte
- b) 3 840 000 byte
- c) 1 440 000 byte
- d) 480 000 byte
Prefiksene brukes i to betydninger, og forskjellen er en fast eksamensfelle:
| Prefiks | Desimalt (-basert) | Binært (-basert) | Avvik |
|---|---|---|---|
| kilo | (kibi, KiB) | 2,4 % | |
| mega | (mebi, MiB) | 4,9 % | |
| giga | (gibi, GiB) | 7,4 % |
Diskprodusenter bruker den desimale betydningen, mens mange operativsystemer viser den binære. Det er derfor en «500 GB»-disk vises som omtrent 465 GB i maskinen — ingen har jukset, de to bruker bare hvert sitt prefikssystem.
På eksamen: les hva oppgaven oppgir. Står det «1 kB 1 000 byte», bruk det. Er det ikke oppgitt og tallene er toerpotenser, er den binære betydningen ment.
Eksempler: et bildes oppløsning, bitdybde og opptakstidspunkt; en tekstfils navn, størrelse og tegnkoding; en lydfils artist og lengde.
Metadata er grunnen til at en bildefil alltid er litt større enn regnestykket i formelen over tilsier: filen inneholder både pikslene og en beskrivelse av hvordan de skal tolkes.
Uten metadata ville en bildefil bare vært en lang rekke tall som ingen visste hvordan skulle brettes ut til et rutenett.
Ordet bit i denne delen av boka betyr alltid ett binærsiffer, altså en eller en i et lagret tall.
I kodedelene av boka møter du en beslektet, men annen ting: datatypen bool, som holder True eller False. Den ligner — begge har to verdier — men de er ikke det samme:
- Et bit er en lagringsenhet. Åtte av dem utgjør en byte.
- En bool er en verdi i Python. Hvor mange bit den faktisk tar plass i minnet, er ikke noe programmet forholder seg til.
Blander du de to, kommer du til å svare feil på spørsmål som «hvor mange bit trengs for å lagre 300 symboler» — for der er svaret 9, ikke 300 sanne eller usanne verdier.
Hva er i binært og i desimalt?
- a) og 47
- b) og 63
- c) og 47
- d) og 39
Webfargekoden #00FF00 beskriver hvilken farge?
- a) Ren rød
- b) Ren blå
- c) Ren hvit
- d) Ren grønn
En tekstfil på 2 000 tegn er lagret i utvidet ASCII (ISO-8859-1). En annen fil har de samme 2 000 tegnene i UTF-8, men 300 av tegnene er æ, ø eller å. Hvor store er de to filene?
- a) 2 000 byte og 2 000 byte
- b) 2 000 byte og 2 600 byte
- c) 2 000 byte og 2 300 byte
- d) 16 000 byte og 18 400 byte
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.
Skolesaga er en uavhengig læringsressurs og er ikke tilknyttet eller godkjent av Norges teknisk-naturvitenskapelige universitet. Dette er ikke offisielt studiemateriell. Les mer.