Hur man bygger en 8-bitars dator (3 / 18 steg)
Steg 3: Binära tal
Se vårt talsystem som en vägmätare. En vägmätare räknar från den lägsta siffran den högsta siffran och sedan tvingar nästa rotorn i sekvens till för ett och samma ställe. Till exempel:
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
1 0 <--bära till nästa siffra
Binära är basen två, vilket innebär att det endast har två siffror och har ingen siffra för 2. Binär bara har siffrorna 0 och 1 eller "off" och "på". Om du vill räkna i binär söker du helt enkelt mätarställning tekniken:
0001b - 1
0010b - 2
0011b - 3
0100b - 4
0101b - 5
0110b - 6
0111b - 7
1000B - 8
osv...
Det finns en annan faktor i vårt talsystem som gör det bas tio; När vi går högre i siffror siffror ökade vikt med tio. Till exempel 1 = 10 ^ 0, 10 = 10 ^ 1, 100 = 10 ^ 2, osv... I binärt, saker är naturligtvis bas två och som sådan varje efterföljande siffror är en annan effekt av två. 1b = 1 = 2 ^ 0, 10b = 2 = 2 ^ 1, 100b = 4 = 2 ^ 2, osv...
Om du vill konvertera ett decimaltal till binärt det är ett enkelt knep kallas dubbel-plaska som gör processen mycket mer enkelt:
Att vi vill säger konvertera 13 till ett binärt tal, vi börjar med att dela upp 13 och två och skriva ner resten. Sedan direkt ovanför det du skriver ner många utan rest (6 i det här fallet) och dividera det med två och skriver ner resten ovan tidigare. Du fortsätter processen tills du kommer antingen en 1 eller 0. I slutet läsa du från toppen ner till få resultatet.
1/2 = 0 R1 < läsa från topp till botten. Resultatet är 1101 eller 2 ^ 0 + 0 + 2 ^ 2 + 2 ^ 3 = 1 + 0 + 4 + 8 = 13. Detta kallas en binära word.
3/2 = 1 R1 <
6/2 = 3 R0 <
13/2 = 6 R1 <
Hexadecimalt värde används ofta med binär. Hexadecimalt basen 16 och innehåller siffrorna 0-9 och a-f. En hexadecimal siffra används för att beskriva en nibble eller fyra bitar data. Lite är en enda 1 eller 0 för binary. En nibble kan räkna från 0 till 15 (0000 till 1111) innan nästa bit är i nästa knapra. Två nibbles tillsammans är en byte eller 8 bitar. Sedan den första siffran är 2 ^ 0, den sista siffran är vägda 2 ^ 7. Därför kan en byte vara någonstans i intervallet från 0 till 255. För att uttrycka byte 00101110 (46 i decimal) hexadecimalt värde skulle du först separat två nibbles 0010 och 1110. Den första nibble har värdet 2, och för det andra har värdet E (eller 14 i decimal). Byte 00101110 hexadecimalt värde är därför 2E.
Nyttiga länkar:
http://en.wikipedia.org/wiki/Binary_numeral_system
http://en.wikipedia.org/wiki/hexadecimal