Annons
Med tanke på att binär är så absolut grundläggande för att det finns datorer, verkar det konstigt att vi aldrig har tacklat det ämnet förut - så idag trodde jag att jag skulle ge en kort överblick över vad binär egentligen betyder och hur det används i datorer. Om du alltid har undrat vad skillnaden är mellan 8-bitars, 32-bitars, och 64-bitars verkligen är det, och varför det betyder något - läs sedan vidare!
Vad är binärt? Skillnaden mellan Base 10 och Base 2
De flesta av oss har vuxit upp i en bas 10-värld med siffror, med vilket jag menar att vi har 10 'bas' tal (0-9) från vilka vi härleder alla andra siffror. När vi har uttömt dem flyttar vi upp en enhetsnivå - Tio, 100, 1000 - denna form av räkning hamras i våra hjärnor från födseln. I själva verket var det bara från den romerska perioden som vi började räkna i bas 10. Innan dess var bas 12 den enklaste, och folk använde sina knogar för att räkna.
När vi lär oss bas 10 på grundskolan skriver vi ofta enheterna så här:
Så numret 1990
består faktiskt av 1 x 1000, 9 x 100, 9 x 10, och 0 x 1. Jag är säker på att jag inte behöver förklara bas 10 längre än så.Men vad händer om istället för att ha ett komplett urval av 0,1,2,3,4,5,6,7,8,9 att arbeta med som basnummer - vad händer om vi bara hade gjort det 0, och 1. Det här kallas bas 2; och det kallas också ofta binär. I en binär värld kan du bara räkna 0,1 - då måste du gå till nästa enhetsnivå.
Räknar i binär
Det hjälper oerhört om vi skriver ut enheterna när vi lär oss binärt. I det här fallet, i stället för att varje ytterligare enhet multipliceras med 10, multipliceras den med 2, vilket ger oss 1,2,4,8,16,32,64... Så för att beräkna kan vi skriva ut dem så här:
Med andra ord, det högsta värdet i ett binärt tal representerar hur många 1: er. Nästa siffra, till vänster om det, representerar hur många två. Den nästa representerar hur många fyra... och så.
Med den kunskapen kan vi skriva ut en tabell över räkning i binär, med motsvarande bas 10-värde som anges till vänster.
Spendera ett ögonblick på det tills du kan se exakt varför 25 är skrivet som 11001. Du borde kunna dela upp det som att det är 16 + 8 + 1 = 25.
Arbeta bakåt - bas 10 till binär
Du bör nu kunna räkna ut vilket värde ett binärt tal har genom att rita en liknande tabell och multiplicera varje enhet. Att byta ett vanligt bas-10-nummer till binärt kräver lite mer ansträngning. Det första steget är att hitta den största binära enheten som "passar in" i numret. Så till exempel, om vi gjorde 35, så är det största antalet från tabellen som passar in i 35 32, så vi skulle ha en 1 där i den kolumnen. Vi har sedan en återstående av 3 - vilket skulle behöva en 2 och sedan slutligen en 1. Så vi får 100011.
8-bitar, Bytes och Octets
Tabellen jag har visat ovan är 8-bitars, eftersom vi har maximalt 8 nollor och sådana som ska användas för vårt binära nummer. Således är det maximala antalet vi möjligen representerar 11111111, eller 255. Detta är anledningen till att representera något nummer från 0-255, vi behöver minst 8 bitar. Octet och Byte är helt enkelt ett annat sätt att säga 8-bitar. Därför 1 byte = 8 bitar.
32 vs 64-bitars dator
Numera hör du ofta villkoren 32-bitars och 64-bitarsversioner av Windows, och du kanske känner till att 32-bitars Windows bara kan stödja upp till 4 gigabyte RAM. Varför är det dock?
Det hela handlar om minnesadressering. Varje minne behöver en unik adress för att få åtkomst till den. Om vi hade en 8-bitars minne adresseringssystem, skulle vi bara ha högst 256 byte av minnet. Med en 32-bitars minnesadresseringssystem (föreställ dig att utöka tabellen ovan för att ha 32 binära enhetskolumner), kan vi gå var som helst upp till 4,294,967,296? 4 miljarder byteeller med andra ord - 4 GIGAbyte.64-bitars beräkning tar i huvudsak bort denna gräns genom att ge oss upp till 18 kvintillion olika adresser - ett antal som de flesta av oss helt enkelt inte kan fatta.
IPv4-adressering
Den senaste oro i datorvärlden är allt om IP-adresser IPv6 & The Coming ARPAgeddon [Technology Explained] Läs mer , särskilt IPv4 adresser, som dessa:
- 192.168.0.1
- 200.187.54.22
De består faktiskt av fyra siffror, var och en representerar ett värde upp till 255. Kan du gissa varför? Jej, hela adressen representeras av 4 oktetter (32 bitar totalt). Detta verkade som en väldigt många möjliga adresser (cirka 4 miljarder faktiskt) då internet uppfanns första gången, men vi tar snabbt slut när allt i vårt liv måste anslutas. För att lösa detta använder den nya IPv6 128 bitar totalt, vilket ger oss ungefär 340 undecillion (sätta 38 nollor i slutet) adresser att spela med.
Jag kommer att lämna det där för idag, så jag kan återgå till mitt ursprungliga syfte som var att skriva nästa Arduino-tutorial - där vi använder omfattande ett bitskiftregister. Jag hoppas att idag har gett dig en grundläggande förståelse för hur binär är så betydelsefull för datorer, varför samma nummer fortsätter att visas och varför antalet bitar vi måste representera något sätter en begränsad mängd minne, skärmstorlek, möjliga färgvärden eller unika IP-adresser tillgängliga för oss. Nästa gång tittar vi på binära logikberäkningar, vilket är ganska mycket allt som en datorprocessor gör, liksom hur datorer kan representera negativa siffror.
Kommentarer? Förvirring? Tyckte du att min förklaring var lätt att förstå? Hur som helst, vänligen kontakta kommentarerna. Jag ska lämna dig med ett binärt skämt!
Det finns bara tio typer av människor i världen: de som förstår binär, och de som inte gör det.
Bildkredit: Shutterstock
James har en kandidatexamen i artificiell intelligens och är CompTIA A + och Network + certifierad. Han är ledande utvecklare av MakeUseOf och tillbringar sin fritid med att spela VR-paintball och brädspel. Han har byggt datorer sedan han var liten.