Det er nøjagtig lige som ti tals systemet, hvor du regner med nullere, ettere, tiere, og hundrede. I det biære talsystem regner du med nuller, ettere, toere, firer, ottere, osv. 0=0 1=1 2=10 3=11 4=100 5=101 6=111 osv
Det talsystem vi normalt anvender til at beregne dit og dat kaldes titalsystemet. Der findes altså 10 forskellige tegn (0 1 2 3 4 5 6 7 8 9)som vi kan kombinere til at danne uendelig mange tal. I det binære talsystem findes der kun 2 tegn (0 1 som du selv nævnte). Du kan altså ikke skrive "4" i det binære talsystem som i titalssystemet. Her er lidt hjælp: på højreside titalssystem på venstre binær 0 = 0 1 = 1 2 = 10 3 = 11 4 = 100 5 = 101 6 = 110 7 = 111 8 = 1000 9 = 1001 10 = 1010 11 = 1011 12 = 1111
Hvis du gerne vil skrive fx 245 på binær er det lidt svært at tænke sig til men der er en god regneregl. Det foregår ved en række divisioner med 2 med rest: 245 = 2 x 122 + 1 122 = 2 x 61 + 0 61 = 2 x 30 +1 30 = 2 x 15 + 0 15 = 2 x 7 + 1 7 = 2 x 3 + 1 3 = 2 x 1 + 1 1 = 2 x 0 + 1
sæt nu resterne sammen bagfra så har du 245: 11110101
En computer regner binært fordi der i en enkelt lagerplads (en bit) kun kan lagres 0 eller 1 (bitten er on eller off). Hver enkelt bit har en værdi bestemt af dens position i registret. bit værdi 0 1 1 2 2 4 3 8 4 16 5 32 6 64 7 128 o.s.v
For at lagre en bestemt værdi i et register skal man altså 1-stille de bits som tilsammen giver den ønskede værdi.
Fordi det er svært at opbygge systemer som _fuldstændig_ præcist kender forskel på forskelle i værdier, som kan variere næsten uendeligt som f.eks. strømstyrke eller spændingsforskel har man i computere brugt udgangspunktet:
Der kan være strøm eller der kan være ingen strøm, altså kun to forskellige tilstande ...
(I praksis er der så alligevel tærskel-værdier for at kunne overleve dårlige forbindelser og fejlstrømme, men princippet er noget eller ikke noget !-)
Når man så kun har to værdier, må man bruge et system, som kan skaleres op til 'normalt' brug og det er så det binære talsystem: et positionelt talsystem, som jo så glimrende forklaret herover virker grundlæggende på samme måde som vores normale talsystem, men kun har to forskellige cifre ...
(Hvis du har sloges med romertal kan du se et ikke-positionelt system, hvor tal under hinanden/på 'samme' plads kan have vidt forskellig værdi !-)
Men computerens opbygning er langt mere kompliceret, for den skal jo kende forskel på om du sender den en værdi som skal fortolkes som 65 eller som A, og til det bruger den en grundlæggende ret simpel struktur, som f.eks. ved hjælp af forudbestemte rækkefølger af bytes (8-bit-sekvenser) giver plads til data på bestemte steder i rækkefølgen ...
En moderne processor (microprocessorer) har dog langt mere end de to ben, som skal til at forstå om der er strøm eller ikke strøm, så bl.a. vha. hvilken vej der kommer noget ind i processoren finder den ud af hvad den skal gøre. Desuden består sådan en fætter af millioner af transistorer, som bruger strømmen på to af benene til at finde ud af hvad den skal smide på det tredje ben (strøm/ikke strøm !-)
Hvis du skal have en bare nogenlunde ordentlig forklaring på, hvordan en computer fungerer, skal du nok hive fat i noget litteratur, for her kan det kun blive en fornemmelse af nogle af mekanismerne ...
Her kommer en forklaring på, hvordan en computer er opbygget. Først vil jeg lige fortælle lidt teori omkring det, længere nede beskriver jeg, hvordan teorien føres ud i praksis:
En computer er opbygget af transistorer. "Hvad er det" tænker du nok. Jo, det hele startede med en der havde Bool til efternavn (kan ikke huske hans fornavn). Men han beskrev engang i 1800-tallet det boolske system, altså enten/eller. Enten er det det ene, eller også er det det andet. Men hvordan føres den ud i praksis? Jo, du kan faktisk lave din helt egen "mikro"-processor (hvis du skal lave den selv anbefaler jeg dig at lave den lidt størrer en i "mikro"-størrelse ;)
Har du prøvet at spille pinball (det spil hvor man har en kugle der kører rundt på et bræt, og så har du 2 pinde du skal sørge for at vippe op, hver gang kuglen er tæt på)?
En computer fungerer ca. på samme måde.
Følgende er en transistor, eller en miniudgave af en mikroprocessor:
ØØØØØØØØ /------------------------^ (kobberledning til lyspære (^ = lyspære)). / OOOOOOOO
Ø'erne er magneter med negativ pol vendt nedad, O'erne er magneter med positiv pol vendt opad, altså O = positiv, Ø = negativ, og /-stregen er en metalstang, svarende til den du ser i pinball.
Nu tilfører vi strøm til den positive magnet (O), og slukker for strømmen til den negativ (Ø). Metalstangen tiltrækkes nu af den positive magnet og er ikke længere forbundet med kobberledningen, og lyspæren lyser altså ikke (idet der ingen strøm løber).
Vi får altså følgende:
ØØØØØØØØ ------------------------^ (kobberledning til lyspære (^ = lyspære)). __ OOOOOOOO
Så slukker vi for strømme til O-magneten og tilfører strøm til Ø-magneten, og lyspæren lyser igen:
ØØØØØØØØ /------------------------^ (kobberledning til lyspære (^ = lyspære)). / OOOOOOOO
Altså op, ned, op, ned. Når pæren lyser kalder vi det for "1" og når den ikke lyser kalder vi det for "0". Og enten lyser pæren eller også gør den det ikke.
Computeren fungerer på nøjagtig samme måde, eneste forskel er bare, at det er så små transistorer, at du ikke kan se dem, og der er MANGE af dem, forbundet i et størrer kompliceret system, for at udføre beregningerne.
Når en computer skal sende datapakker fra det ene sted til det andet, sender den med impulser 1-taller (svarende til må strømstød). Der sidder så en tæller det andet sted, og hvis der f.eks. er gået 1 sek (nu går det så endnu hurtigere, men vi siger 1 sek. for at forenkle det), og den endnu ikke har modtaget et 1-tal inde for det sek. så er det automatisk et 0. Så kan man altså lave følgende: 10010101000110101111 -> hvor hvert tegn betyder, at der er gået 1 sek. og ved 1-tallerne har der så været strømstød. Der er altså gået 20 sek. hvoraf der i de 20 sek. er kommet 11 små stød. Svarende til, at lampen har fået tilført strøm 11 gange (ialt 11 sek. fordelt tilfældigt over 20 sek.).
Så en computer fungerer bare ved en tæller og nogle små elektriske impulser med tidsintervaller imellem (i rigtige computere snakker vi i mili eller nanosekunder, men i vores simple system lavede vi det for hvert 1 sek. så er det også nemmere at lave selv derhjemme), hvoraf tælleren bruges til at afgøre tidsintervallerne mellem de elektriske impulser (1-tallerne) og for hvert sek. uden strøm betegnes det som et 0 (igen, 1 sek. i VORES eksempel, det går langt hurtigere i en rigtig computer).
Du kan faktisk lave din egen lille microprocessor :)
Computeren er bygget med transistorer. og transistorerene er bygget på den måde at de har 2 tilstande de kan være i. enten leder de strøm eller også leder de ikke strøm.
om de leder eller ikke styres af en 'styreledning' ind i transistoren. når der er spønding på styreledningen leder tranistoren strøm. når der ikke er spænding på leder den ikke. (man kan også lave omvendte transistorer der leder når der ikke er spænding, men det er finesser. Hovedsagen er at man kan tænde og slukke)
for med såden en transistor kan man jo så styre styreledningen på en anden transistor og på den måde få programlogik til at forplante sig igennem et stort net af transistorer.
og det eneste de nogensidende gør er altså at tænde og slukke. 2 tilstande, 0 og 1.
Når jeg underviser nogen, underviser jeg generelt på den måde, med konkrete eksempler.... tror jeg vil egne mig udemærket som lærer... Hader selv folk der kun kommer med tør teori uden nogen eksempler på praktisk anvendelse.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.