Binær kode
Binær kode er den måde computere skriver på. I stedet for ti cifre bruger den kun to: 0 og 1. Det lyder som meget lidt, men med nuller og ettaller kan man skrive alle bogstaver, alle tal og alle beskeder. For spejdere er den nemmeste måde at komme i gang at skrive bogstavernes nummer i alfabetet som binært tal: A bliver 1, B bliver 10, og Å bliver 11101.
Prøv den her
Skriv en besked og se den blive til binær kode — eller sæt den anden vej og læs en kode, du har fået.
Hele koden
Nedenfor er kodetabellerne, lavet af den samme motor som oversætteren bruger. Første tabel viser talkode i totalsystemet, hvor A er 1 og Å er 29. Anden tabel viser ASCII, som computere bruger, hvor hvert bogstav har otte pladser.
Talkode i totalsystemet
ASCII med otte pladser
Historien
Binært tællesystem har sin oprindelse hos den tyske filosof og matematiker Gottfried Wilhelm Leibniz. I 1703 offentliggjorde han skriften "Explication de l'Arithmétique Binaire", hvor han viste, at alle tal kan skrives med kun to cifre: 0 og 1. Leibniz var fascineret over, at noget så enkelt kunne bære hele matematikken, og han bemærkede endda ligheden med det kinesiske I Chings otte tegn, der også bygger på to tilstande.
I 1854 lagde den engelske matematiker George Boole grundlaget for den logik, der står bag alle computere. Boole viste, at sandt og falsk kan behandles som tal: sandt er 1, falsk er 0, og regnearterne og, eller og ikke kan regnes som små ligninger. Det blev kendt som Boolesk algebra, og i dag er det sprog, alle computerkredse tænker på.
Det var den amerikanske ingeniør Claude Shannon, der i 1937 forbandt de to ideer. I sin specialeopgave på MIT viste han, at Boolesk algebra kunne bruges til at designe elektriske kredsløb med relæer — at man altså kunne bygge maskiner, der regner med nuller og ettaller. Det er det øjeblik, hvor binær tælling blev til datalogi.
Selve ordet "binær" kommer fra det latinske "binarius", der betyder "to og to". Da computere blev almindelige, skulle man finde en måde at få bogstaver ind i maskinerne, og i 1963 blev ASCII-standarden offentliggjort: en tabel, der giver hvert bogstav, hvert tegn og hvert tal et nummer fra 0 til 127. Det er den kode, der stadig ligger bag hvert eneste tastetryk.
For spejdere er binær kode mest praktisk som talkode skrevet i totalsystemet. I stedet for at skrive bogstavernes plads i alfabetet som almindelige tal, skriver man dem som nuller og ettaller. Det gør koden både sværere at læse for uindviede og sjov at knække, fordi man skal regne sig frem til hvert bogstav.
Sådan virker den
I det almindelige talsystem, vi kender fra skolen, er værdien af et ciffer bestemt af dens plads: i tallet 342 står 3 for 300, 4 for 40 og 2 for 2. Det kaldes potenser af 10, fordi hver plads er 10 gange så stor som den til højre. I binær kode er det samme princip, men med potenser af 2: hver plads er 2 gange så stor som den til højre.
De fem første pladser i binær kode er altså 16, 8, 4, 2 og 1. For at skrive tallet 5 finder du den største plads, der er mindre eller lig med 5, og det er 4. Du skriver 1 på pladsen med 4, og der resterer 1, som passer på pladsen med 1. Bliver der 0 på pladsen med 2 og 0 på pladsen med 8 og 16. Tallet 5 bliver altså 101 i binær kode.
For at kode et bogstav finder du først dets plads i det danske alfabet: A er 1, B er 2, og så videre op til Å, der er 29. Så skriver du tallet som binært tal. A bliver 1, B bliver 10, C bliver 11, og E bliver 101. Fem pladser rummer alle tal fra 0 til 31, så de er nok til alle 29 bogstaver i det danske alfabet.
Et mellemrum mellem ordene skrives som en skråstreg, så man kan se, hvor ordene begynder og slutter. Tal og tegnsætning står uændret, præcis som i talkoden. Ordet HEJ bliver altså 1000 101 1010, hvor H er 8, E er 5 og J er 10.
Computere bruger en anden variant, der hedder ASCII. Der får hvert bogstav otte pladser i stedet for fem, og bogstavet A har fået tildelt nummer 65 i stedet for 1. I ASCII bliver A altså 01000001. De danske bogstaver har også deres egne numre: Æ er 198, Ø er 216 og Å er 197. Fordi der er otte pladser, kan ASCII skrive 256 forskellige tegn — nok til hele alfabetet, alle tal og alle tegnsætninger.
- Binær kode bruger kun to cifre: 0 og 1. Hver plads er 2 gange så stor som den til højre.
- De fem første pladser er 16, 8, 4, 2 og 1. Fem pladser rummer alle tal fra 0 til 31.
- A er 1, B er 2 og Å er 29 i det danske alfabet. Skriv tallet som binært tal.
- Et mellemrum mellem ordene skrives som en skråstreg (/). Tal og tegnsætning står uændret.
- I ASCII har hvert bogstav otte pladser: A er 65, Æ er 198, Ø er 216 og Å er 197.
- Læs altid binære tal fra venstre mod højre, start med den største plads.
Sådan lærer du den
Den hurtigste måde at lære binær kode på er at lære potenserne af 2 udenad: 1, 2, 4, 8, 16, 32. Når du kan dem, kan du bygge alle tal op. Start med at lære bogstaverne A til I, der er numre 1 til 9, og som alle kan skrives med fire pladser: A er 1, B er 10, C er 11, og I er 1001.
Så lærer du resten af alfabetet ved at gætte. Når du skal skrive et bogstav, finder du først dets nummer i alfabetet, og så finder du den største potens af 2, der er mindre eller lig med numret. Skriv 1 på den plads, træk potensen fra, og fortsæt med resten, indtil du er nede i 1. Er resten 0, får du en 0 på den sidste plads.
En sjov øvelse er at tælle på fingre. Hver finger er én plads: tommelfingeren er 1, pegefingeren er 2, langfingeren er 4, ringfingeren er 8 og lillefingeren er 16. Kan du løfte alle fem fingre, viser du tallet 31. Det er nok til at skrive alle bogstaverne i det danske alfabet med én hånd.
Når du kan kode med talene, er det godt at øve at læse binære tal tilbage. Får du 1011, starter du med at finde den største plads, der er med: 8. Så resterer 3, som er 2 plus 1. Bliver det 8 + 2 + 1 = 11, og det er bogstavet K.
Metode
- Lær potenserne af 2 udenad: 1, 2, 4, 8, 16, 32.
- Lær bogstaverne A til I som binære tal: A er 1, B er 10, C er 11, I er 1001.
- Kod dit navn ved at finde hvert bogstavs nummer og skrive det som binært tal.
- Læs et binært tal tilbage ved at finde den største plads først og trække fra.
- Tæl på fingre: tommelfingeren er 1, pegefingeren er 2, langfingeren er 4.
- Skriv en besked med mellemrum som skråstreg og lad en makker afkode den.
- Prøv at skrive et bogstav med fem pladser, selv om det kun bruger fire.
Øvelsesplan for en uge
- 1Dag 1: Lær potenserne af 2 og tæl på fingre op til 31.
- 2Dag 2: Lær bogstaverne A til I som binære tal og kod dit navn.
- 3Dag 3: Lær bogstaverne J til R og kod en kort hilsen.
- 4Dag 4: Lær bogstaverne S til Å og kod en sætning med æ, ø eller å.
- 5Dag 5: Øv at læse binære tal tilbage og finde bogstaverne i en kode.
- 6Dag 6: Send en besked til en makker med kun nuller og ettaller.
- 7Dag 7: Lav en løbspost, hvor patruljen skal afkode et binært navn.
Typiske fejl
- At glemme, at A er 1 og ikke 0. Nul er ikke et bogstav i koden.
- At læse binære tal fra højre mod venstre i stedet for fra venstre mod højre.
- At glemme skråstregen mellem ordene, så to ord smelter sammen.
- At tro, at man skal bruge otte pladser. Fem pladser rummer alle 29 bogstaver.
- At glemme at fylde pladserne med 0, så 5 bliver 101 og ikke 11.
Til lederen
Binær kode er en oplagt aktivitet til et spejdermøde, fordi den kræver intet udstyr og alligevel føles som at tale med en computer. Den passer godt til en patrulje, der er ved at lære at tænke logisk, og den kan kombineres med en løbspost, hvor beskeden står som nuller og ettaller på et postkort.
En populær øvelse er "den menneskelige computer". Hver spejder får et kort med en pladsværdi: 1, 2, 4, 8 eller 16. Lederen råber et tal, og spejderne skal løfte kortet, hvis deres plads er med i tallet. På den måde ser de, hvordan binær tælling fungerer i praksis, før de skriver det på papir.
- 1Del patruljen i fem grupper og giv hver gruppe et kort med en pladsværdi: 1, 2, 4, 8 eller 16.
- 2Råb et tal mellem 1 og 31, og lad grupperne løfte kortet, hvis deres plads er med.
- 3Lad patruljen skrive deres egne navne som binære tal på papir.
- 4Skriv en postbesked som binær kode og lad patruljen afkode den.
- 5Vis, hvordan man tæller op til 31 på én hånd med potenserne af 2.
- 6Slut af med at forklare, hvordan computere bruger nuller og ettaller til at skrive bogstaver.
Øv videre
Ofte stillede spørgsmål
- Hvad er forskel på binær kode og talkode?
- Der er ingen forskel — binær kode er talkode skrevet i totalsystemet. I talkode skriver du bogstavernes plads i alfabetet som almindelige tal: A er 1, B er 2. I binær kode skriver du de samme tal som nuller og ettaller: A bliver 1, B bliver 10. Det er de samme tal, bare i et andet talsystem.
- Hvorfor starter A med 1 og ikke med 0?
- Fordi 0 ikke er et bogstav. Hvis A var 0, ville der ikke være nogen måde at skrive det på, og alle bogstaverne ville rykke en plads. I koden er A derfor 1, B er 2, og så videre op til Å, der er 29. Tallet 0 bruges kun til at fylde pladserne ud, ikke til at betyde et bogstav.
- Hvad er ASCII?
- ASCII er en standard fra 1963, der giver hvert bogstav, hvert tal og hvert tegn et nummer fra 0 til 127. Computere bruger den til at skrive bogstaver som tal. I ASCII er A nummer 65, som bliver 01000001 i binær kode. De danske bogstaver har også deres egne numre: Æ er 198, Ø er 216 og Å er 197.
- Hvordan skriver man æ, ø og å i binær kode?
- I talkode i totalsystemet er Æ det 27. bogstav, Ø det 28. og Å det 29. Det giver Æ = 11011, Ø = 11100 og Å = 11101. I ASCII har de danske bogstaver deres egne numre: Æ er 198, Ø er 216 og Å er 197. Begge måder virker, og begge er vist i tabellerne ovenfor.
- Kan man tælle binært på fingre?
- Ja, og det er en sjov måde at lære det på. Hver finger er én plads: tommelfingeren er 1, pegefingeren er 2, langfingeren er 4, ringfingeren er 8 og lillefingeren er 16. Løfter du alle fem fingre, viser du tallet 31. Det er nok til at skrive alle bogstaverne i det danske alfabet med én hånd.