det är alla 1s och 0s: hur datorer kartlägger den fysiska världen

siffran ”12” är inte värdet 12 i en kartong med ägg. Ordet ”rock” är inte den sten du stöter på utanför. Istället är de bara symboler, skapade från en samling andra symboler, som representerar specifika begrepp som kartlägger väl till världen omkring oss. De är verktyg som ger oss förmågan att bryta ner världen, en massa materia, i hanterbara bitar. Vi använder dem, inte för att de är objektivt ”sanna”, utan för att de är användbara för att uppfylla våra mål med tanke på en uppsättning fysiska begränsningar.

i huvudsak är datoranvändning av binär inte mer komplicerad än så. Bara ett annat konstgjorda system skapat för att uppnå ett visst mål med en viss uppsättning begränsningar i åtanke.

innan du tänker på hur datorer använder det binära systemet är det bra att tänka på varför vi använder denary-systemet. Vårt mål är att kunna representera numeriska värden och kommunicera dessa värden till andra. Vi kan föreställa oss ett system där vi hade en ny karaktär för varje tänkbart nummer. Till exempel skulle 156 faktiskt vara en typ av squiggly linje med en krok på toppen, för att inte förväxlas med symbolen för 38, som skulle representeras av en cirkel med en linje över toppen. Det skulle vara det mest effektiva sättet att representera värden eftersom du bara skulle behöva ett tecken i taget för att representera även de största siffrorna, istället för en kedja av tecken. Men det skulle inte vara det mest praktiska. Föreställ dig en 1: A klasslärare som testar sina elever på skillnaden mellan karaktären som representerar 1,589 och karaktären som representerar 2,000,478 och alla tecken däremellan.det är uppenbart att det finns en gräns för hur många tecken vi vill ha tillgängliga i vårt representationssystem. Så vad sägs om den motsatta änden av spektrumet: ett tally-system med en enda tillgänglig karaktär? Visst, det är möjligt — visa mig nu 2,000,478 med ett base-1-system. Det är uppenbart att detta också är opraktiskt.

plötsligt är base – 10-systemet meningsfullt som inte det enda tillgängliga numeriska systemet, men en bra passform med tanke på vårt behov av praktisk, elegans och effektivitet. Med endast 10 tillgängliga tecken kan jag enkelt representera numret 2,000,478 genom att multiplicera det numeriska värdet för den kolumnen med nästa effekt på 10 som visas nedan:

  • 2 x 10= 2,000,000
  • 0 x 10un= 0
  • 0 x 10SI= 0
  • 0 x 103= 0
  • 4 x 102 = 400
  • 7 x 101 = 70
  • 8 x 10⁰ = 8

summa = 2,000,478

vilket bra system för att representera värden. Så varför använder inte datorer det systemet?

från Denary till binär

elektriska strömmar körs antingen (öppna/på) eller de är inte (stängda/av) vilket betyder att vi har två värdetecken tillgängliga för oss: 1 och 0. Med tanke på dessa begränsningar kan vi använda samma metodolgy vi brukade välja base-10-systemet för att hitta ett representationssystem som datorer kan använda.Med endast två stater tillgängliga för att representera olika tecken skulle det enda andra alternativet till binärt vara ett tally-system. Men för att representera värdet 255 i ett tally-system skulle vi behöva 255 siffror. Det är 255 ”på” transistorer för att representera ett relativt litet antal. Binary behöver bara 8 för att uppnå samma mål.

Så här gör binary det.

ett BAS 2-system fungerar på samma sätt som base-10-systemet, men istället för att multiplicera värdet för varje kolumn med nästa multipel av 2, multipliceras de istället med nästa multipel av 2. Till exempel kan det binära talet 10100 översättas till ett basnummer 10 genom att helt enkelt lägga till de beräknade värdena nedan tillsammans:

  • 1 x 2si = 16
  • 0 x 23 = 0
  • 1 x 22 = 4
  • 0 x 21 = 0
  • 0 x 2⁰ = 0

från bitar till byte

härifrån, vi kan börja bygga en konvention för hur man använder detta numeriska system för att kartlägga världen runt oss på elektriska pulser av på och av. Låt oss först ge våra karaktärer ett namn: binära siffror eller bitar för kort, den minsta dataenheten i en dator.

därefter bestämmer vi hur många bitar det tar att representera ett icke-numeriskt värde, som ett brev eller specialtecken. Denna process är lika konstruerad som processen att välja ett numeriskt system för att representera värde. Vi har vissa mål, vissa förutbestämda verktyg och en allmän önskan om elegans och effektivitet. Det finns 101 tecken på ett tangentbord, vilket innebär att vi måste representera 101 i binärt som maxvärdet. Visas 101 i bas – 10 är numret 01100101 i binärt. Det är ett baslinjekrav på 7 tillgängliga transistorer om vi vill kartlägga varje nyckel till ett specifikt numeriskt värde. Men vad händer om det finns andra karaktärer vi vill representera? Med 7, allt på, representerar vi bara upp till numret 127 i base-10. Kan lika gärna ge oss en bit till att arbeta med.

och därmed har vi byte, baslinjeenheten för mätning av data, sägs representera åtminstone ett enda tecken. Vi kan nu representera värdena från 0-255 (00000000-11111111).

eftersom datorer bara kan förstå siffror, upprättades den amerikanska standardkoden för informationsutbyte (ASCII) för att tilldela varje tecken på tangentbordet ett specifikt numeriskt värde som visas nedan:

som ett exempel, här är hur du skulle representera frasen”Hej världen!”i binär:

  • Text: Hej världen!
  • ASCII-nummer: 072 101 108 108 111 032 087 111 114 108 100 033
  • binär: 00110000 00110111 00110010 00100000 00110001 00110000 00110001 00100000 00110001 00110000 00111000 00100000 00110001 00110000 00111000 00100000 00110001 00110001 00110001 00100000 00110000 00110011 00110010 00100000 00110000 00111000 00110111 00100000 00110001 00110001 00110001 00100000 00110001 00110001 00110100 00100000 00110001 00110000 00111000 00100000 00110001 00110000 00110000 00100000 00110000 00110011 00110011

liksom text måste Bilder också konverteras till binär. Vi kan representera bilder i binär genom att dela upp en bild i ett rutnät med pixlar och bryta ner varje pixelfärg i en kombination av 3 färger (röd, grön och blå), vanligtvis kallad pixels RGB-värde. Maxvärdet var och en av dessa färger kan ha individuellt är 255 och minimum är 0, vilket betyder att varje färgvärde för varje pixel kan representeras av 1 byte för totalt 3 byte per pixel.

som ett exempel kan vi representera skuggan av den gröna pixeln som visas ovan på plats (1,0) i RGB och binär nedan:

  • RGB-värden: (6, 250, 7)
  • binär: 00000110, 11111010, 00000111

slutligen kan vi representera ljuddata i binär också med ”sampling”. Genom att grafera ljudvågorna i ett inspelat ljud och notera värdena på våghöjderna med jämna mellanrum kan vi sedan konvertera dessa värden till binära och sedan återskapa den ljudvågen med hjälp av dessa binära värden vid en senare tidpunkt.

till exempel har ljudvågen ovan ett decimalvärde på 8 vid tidsintervallet 1, vilket ger det ett bytevärde på 00001000.

från binär till logik

det finns många olika sätt att lagra binära data inklusive stansade kort, magnetiserad tejp, optiska skivor etc. Alla använder denna konvention för att representera värden i ett base-2-system. Att representera världen i binär är dock bara hälften av slaget. Den andra hälften arbetar på den. Ange bitvis operatörer.

bitvisa operatörer fungerar på enskilda bitar och är de grundläggande aritmetiska operationerna som en CPU använder. Varje bitvis operatör har en uppsättning förutbestämda regler som ger en viss utgång med två ingångar.

bitvisa operatörer och deras motsvarande utgångar

Du kanske känner igen dessa verktyg som de som ingår i ett system som vi har använt långt innan El ens upptäcktes: logik. Medan en bitvis operatör kan verka främmande, härrör de från logiska operatörer och som numeriska system använder vi logiska operatörer som bitvis operatörer eftersom de tjänar våra syften effektivt och elegant med tanke på våra nuvarande fysiska begränsningar.

vårt mål är att ta två olika värden representerade av två möjliga tecken producera ett nytt värde enligt en uppsättning deterministiska regler. Du kan se hur vårt system med propositionell logik översätter väl till beräkningslogik nedan:

Tänk på och operatören i samband med denna mening: ”Bob åt lunch och Bob gick på bio.”Om det första uttalandet är sant och det andra uttalandet är falskt, är meningen falsk.

T & F = F

Men om det första uttalandet är sant och det andra uttalandet är sant är uttalandet sant.

T & T = t

vad sägs om or-operatören:”Bob åt lunch eller Bob gick på bio”. Om det första uttalandet är sant och det andra uttalandet är falskt är meningen fortfarande sant.

t v F = T

men om båda är falska är meningen falsk.

F v F = F

ersätt nu T: erna och F: erna med 1: or och 0: Or och vi har byggstenarna för att manipulera binära för att skapa nya strängar av binära och därmed nya representationer av värden. Vi använder dessa bitvis operatörer i logiska grindar, elektroniska omkopplare som använder denna logik för att producera nya värden. Tänk på följande scenario:

Du måste tända den nedre högra lysdioden i en räknare för att börja visa siffrorna 0, 1, 3, 4, 5, 6, 7, 8, och 9 men inte nummer 2. Det betyder de binära siffrorna 00, 01, 100, 101 110, 111, och 1001 men inte 10 behöver producera en enda på signal (1). För att göra dessa elektriska signaler till en enda på-signal för den lysdioden kan vi kedja 3 eller logiska grindar och en inte logisk grind tillsammans för att säkerställa att dessa värden resulterar i antingen en 1 eller en 0. Nedan kan du se ett exempel på siffran 7 som representeras i binär (1110) vilket resulterar i en enda ON-signal, vilket resulterar i att den nedre högra LED-lampan tänds.

Quantum Computing

The only exception to this rule of representing the world in 1’s and 0’s in computers lies in Quantum computing.

Quantum computing attempts to use the ”spooky” nature of sub-atomic particles to represent represent data. Fotoner har till exempel visat sig uppvisa till synes motsägelsefullt beteende, som representerar flera tillstånd samtidigt. Multi-state beteende ger oss extra värden att spela med förutom den typiska På / Av som vi i allmänhet får med elektriska signaler. Istället för att använda lite för att lagra data använder kvantdatorer qubits, som kan vara antingen en 1 eller 0 eller båda samtidigt.



Lämna ett svar

Din e-postadress kommer inte publiceras.