Avatar billede rangerbs Nybegynder
18. august 2003 - 18:08 Der er 19 kommentarer og
5 løsninger

Hvad er det binære talsystem?

Hej eksperter...

Jeg vil gerne vide noget mere om det binære talsystem ud over at du kun er 1 og 0..

nogen der kan beskrive det lidt mere præcist?

fandt et spm. her på eksperten for noget tid siden hvor der var en god forklaring, men kan ikke finde det mere..

mvh Ranger
Avatar billede bufferzone Praktikant
18. august 2003 - 18:15 #1
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
Avatar billede togsverd1985 Praktikant
18. august 2003 - 18:16 #2
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

osv. :)

/Christian
Avatar billede rangerbs Nybegynder
18. august 2003 - 18:16 #3
Jeg skal ikke regne med det, jeg vil bare godt vide hvordan en computer er bygget op af dem :P

håber I forstår?
Avatar billede squashguy Nybegynder
18. august 2003 - 18:17 #4
sagt på en anden måde, det er et base 2 system.

2^x , hvor x er bittens plads.

plads:3210
bits: 1100

værdi: 2^3 + 2^2 = 12
Avatar billede togsverd1985 Praktikant
18. august 2003 - 18:22 #5
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
Avatar billede rangerbs Nybegynder
18. august 2003 - 18:22 #6
Jeg vil stadigvæk gerne ha' en forklaring på hvordan en computer er bygget op af det og hvordan den anvender det osv.

ikke noget med at sammenligne det med vores 10 tal system..

mvh Ranger
Avatar billede togsverd1985 Praktikant
18. august 2003 - 18:23 #7
men det er en sej regneregel
Avatar billede squashguy Nybegynder
18. august 2003 - 18:24 #8
at regne med binære tal, er netop at forstå hvordan computeren virker...
Avatar billede sblar Nybegynder
18. august 2003 - 18:25 #9
Ikke for at være krakilsk bufferzone og togsverd1985, men den rigtige ser altså sådan her ud:
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 = 1100
13 = 1101
14 = 1110
15 = 1111
Avatar billede togsverd1985 Praktikant
18. august 2003 - 18:28 #10
ja du har ret... jeg skrev forkert i 12 .. pinligt :)
Avatar billede torbenbutler Nybegynder
18. august 2003 - 18:28 #11
systemet er også godt hvis man skal lave et acont system for en del bruger en lidt beder forklaring er ::

128 64 32 16  8  4  2  1  0  Hele tal
------------------------
0  0  0  0  0  0  0  0  0

eks:
128 64 32 16  8  4  2  1  0 
---------------------------
1  0  1  0  1  0  1  0  1

hvis nu du skal finde ud af hvad det er så tager du alle de tal for står med et 1 tal
og ligger at de tal sammen
128+32+8+2+0 = 170

hvis nu du skal regne omvendt så skulle det være på samme måde

éks tal 236 som vi gerne vil have regne om til binære talsystem

først 236- det største tal som dette tal kan trækkes fra  (128)

236-(128) = 108

108-(64)  =  44

44-(32)  =  12

12-(16)  =  -4  NEJ NEJ NEJ DET GÅR IKKE

12-(8)    =  4 

4-(4)    =  0

ok så skulle den gå op

128 64  32  16  8  4  2  1  0
-----------------------------
1  1  1  0  1  1  0  0  0

Held og lykke med det!!!

Torben
Avatar billede togsverd1985 Praktikant
18. august 2003 - 18:28 #12
og han gik galt i 6 lol
Avatar billede sblar Nybegynder
18. august 2003 - 18:32 #13
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.
Avatar billede rangerbs Nybegynder
18. august 2003 - 18:49 #14
hmm.. Jeg synes stadigvæk ikke at jeg bliver meget klogere af det selvom jeg godt forstår det...

måske skulle jeg spørge..

hvordan er en computer opbygget? :p

mvh Ranger
Avatar billede nmh Nybegynder
18. august 2003 - 19:36 #15
tænk først på 10-tals-systemet.
1234 betyder 1*1000 + 2*100 +3*10+4

Hvis vi benyttede 5-tals-systemet
ville 123 betyde 1*125 +2*25 + 3*5+4

tallet 7 ville i 5-talssystemet blive til 12 . Tallet 7 er nemlig 1*5 + 2.

I det binære system har vi kun cifrene 0 og 1.

Tallet 7 er 4 + 2 + 1. Dvs 1*4 +1*2 *1.
Binært skrives 7 så 111.
Avatar billede roenving Novice
19. august 2003 - 02:06 #16
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 ...
Avatar billede dcgeek Nybegynder
19. august 2003 - 12:48 #17
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 :)

Håber det gav mening :)
Avatar billede rangerbs Nybegynder
19. august 2003 - 18:11 #18
mange tak for de 2 rigtig gode svar til sidst...

og en speciel tak til dcgeek som jeg synes har lavet et rigtigt godt eksempel det var lige præcis sådan noget jeg ville høre :P

også tak til togsverd1985 som gav mig en smart regne metode :D

men inden jeg deler point ud skal roenving lige smide et svar ;)

tak for det allesammen
mvh Ranger
Avatar billede roenving Novice
19. august 2003 - 18:36 #19
Velbekomme '-)
Avatar billede jakoba Nybegynder
19. august 2003 - 23:21 #20
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.

mvh JakobA
Avatar billede roenving Novice
20. august 2003 - 15:57 #21
-- og tak for points ;~}
Avatar billede dcgeek Nybegynder
21. august 2003 - 11:17 #22
Det var da så lidt... tak for points :)
Avatar billede dcgeek Nybegynder
21. august 2003 - 11:18 #23
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.
Avatar billede togsverd1985 Praktikant
21. august 2003 - 16:00 #24
tak for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester