Všechno je To 1s a 0s: Jak Počítače Mapě Fyzickém Světě
počet „12“ není hodnota 12 v krabičce vajec. Slovo „rock“ není skála, na kterou narazíte venku. Místo toho jsou to pouze symboly, vytvořené ze sbírky dalších symbolů, které představují specifické koncepty, které dobře mapují svět kolem nás. Jsou to nástroje, které nám dávají schopnost rozbít svět, hmotu hmoty, na zvládnutelné kousky. Používáme je, ne proto, že jsou objektivně „pravdivé“, ale proto, že jsou užitečné při plnění našich cílů vzhledem k souboru fyzických omezení.
v podstatě, počítače použití binární není složitější než to. Jen další umělý systém vytvořený k dosažení nějakého cíle s ohledem na určitý soubor omezení.
předtím, Než přemýšlet o tom, jak se počítače používají binární systém, je užitečné přemýšlet o tom, proč používáme denárů systému. Naším cílem je být schopen reprezentovat číselné hodnoty a sdělovat tyto hodnoty ostatním. Můžeme si představit systém, ve kterém jsme měli novou postavu pro každé představitelné číslo. Například 156 by ve skutečnosti byl typ klikaté čáry s háčkem nahoře, který by neměl být zaměňován se symbolem pro 38, který by byl reprezentován kruhem s čarou přes vrchol. To by byl nejefektivnější způsob reprezentace hodnot, protože byste vždy potřebovali jeden znak najednou, abyste reprezentovali i ta největší čísla, místo řetězce znaků. Ale nebylo by to nejpraktičtější. Představte si, že 1. Stupeň učitel testování její studenti na rozdíl mezi charakterem představuje 1,589 a charakter, což představuje 2,000,478 a všechny postavy v mezi.
je zřejmé, že existuje limit, kolik znaků chceme mít k dispozici v našem systému reprezentace. A co opačný konec spektra: shodný systém s jediným dostupným znakem? Jistě — to je možné – nyní mi ukažte 2 000 478 pomocí systému base-1. Je zřejmé, že to je také nepraktické.
systém base-10 najednou dává smysl nejen jako jediný dostupný číselný systém, ale dobře se hodí vzhledem k naší potřebě praktičnosti, elegance a efektivity. S pouze 10 availible znaky můžeme znázornit počet 2,000,478 snadno vynásobením číselná hodnota tohoto sloupce další mocnina 10, jak je ukázáno níže:
- 2 x 10⁶= 2,000,000
- 0 x 10⁵= 0
- 0 x 10⁴= 0
- 0 x 103= 0
- 4 x 102 = 400
- 7 x 101 = 70
- 8 x 10⁰ = 8
SOUČET = 2,000,478
Jaký skvělý systém reprezentovat hodnoty. Tak proč počítače tento systém nepoužívají?
Od Denárů k Binární
Elektrické proudy jsou buď běží (otevřít/zapnout) nebo nejsou (zavřeno/vypnuto), což znamená, že máme dvě hodnoty znaků availible na nás: 1 a 0. Vzhledem k těmto omezením můžeme použít stejnou metodu, jakou jsme použili při výběru systému base-10, abychom našli systém reprezentace, který mohou počítače používat.S pouhými dvěma stavy, které jsou k dispozici pro reprezentaci různých znaků, by jedinou alternativou k binárnímu systému byl shodný systém. Ale abychom reprezentovali hodnotu 255 v součtové soustavě, potřebovali bychom 255 číslic. To je 255 tranzistorů „on“, což představuje relativně malé číslo. Binární potřebuje pouze 8 k dosažení stejného cíle.
zde je návod, jak to binary dělá.
systém base 2 funguje podobně jako systém base-10, ale místo vynásobení hodnoty každého sloupce dalším násobkem 2 se místo toho násobí dalším násobkem 2. Například binární číslo 10100 mohou být přeloženy do základní 10 číslo pouhým přidáním vypočtené hodnoty níže:
- 1 x 2⁴ = 16
- 0 x 23 = 0
- 1 x 22 = 4
- 0 x 21 = 0
- 0 x 2⁰ = 0
Z Bitů na Bajty
Z tu, můžeme začít stavět konvent na to, jak používat tento číselný systém mapovat svět kolem nás, na elektrické impulsy, on a off. Nejprve dáme našim znakům jméno: binární číslice nebo bity zkrátka nejmenší jednotka dat v počítači.
dále určíme, kolik bitů bude trvat, než bude reprezentovat nečíselnou hodnotu, jako je písmeno nebo speciální znak. Tento proces je stejně vymyšlený jako proces výběru číselného systému, který reprezentuje hodnotu. Máme určité cíle, určité předem stanovené nástroje a obecnou touhu po eleganci a efektivitě. Na klávesnici je 101 znaků, což znamená, že budeme muset reprezentovat 101 v binárním formátu jako maximální hodnotu. Ukázalo se, že 101 v základně-10 je číslo 01100101 v binárním. To je základní požadavek 7 dostupných tranzistorů, pokud chceme mapovat každý klíč na konkrétní číselnou hodnotu. Ale co když existují další postavy, které chceme reprezentovat? Se 7, vše zapnuto, zastupujeme pouze číslo 127 v základně-10. Může nám dát ještě jeden kousek, se kterým můžeme pracovat.
a tak máme bajty, základní jednotku pro měření dat, která představuje minimálně jeden znak. Nyní můžeme reprezentovat hodnoty od 0-255 (00000000-11111111).
Jako počítače může pochopit jen čísla, Americký Standardní Kód pro Výměnu Informací (ASCII) byla založena přiřadit každý znak na klávesnici konkrétní číselné hodnoty, jak je znázorněno níže:
Jako příklad, zde je, jak by reprezentovat větu „Hello World!“v binárním:
- Text: Hello World!
- ASCII čísla: 072 101 108 108 111 032 087 111 114 108 100 033
- binární: 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
Jako text, obrázky musí být také převeden na binární. Můžeme reprezentovat obrázky v binárním rozdělení obrazu do mřížky pixelů a rozdělení každé barvy pixelů na kombinaci 3 barev (Červená, zelená a modrá), obvykle označované jako hodnota RGB pixelů. Max hodnota každé z těchto barev může mít individuálně je 255 a minimální je 0, což znamená, že každá hodnota barvy pro každý pixel může být reprezentován 1 bajt pro celkem 3 bajty na pixel.
Jako příklad, můžeme reprezentovat odstín zelené pixel je uvedeno výše v místě (1,0) v RGB a binární níže:
- RGB Hodnoty: (6, 250, 7)
- Binární: 00000110, 11111010, 00000111
a Konečně, můžeme reprezentovat zvukových dat v binární, stejně pomocí „vzorků“. Podle grafu zvukové vlny z nahraných zvukových a zmínku hodnoty vlny výšky v pravidelných intervalech jsme pak může převést tyto hodnoty na binární a pak znovu, že zvukové vlny pomocí těchto binární hodnoty na pozdější dobu.
například, zvukové vlny nad má desítkovou hodnotu 8 v intervalu 1, což je byte hodnota 00001000.
od binárních po logické
existuje mnoho různých způsobů ukládání binárních dat, včetně děrovaných karet, magnetizované pásky, optických disků atd. Všichni používají tuto konvenci reprezentace hodnot v systému base-2. Nicméně, reprezentovat svět v binárním je jen polovina bitvy. Druhá polovina na tom pracuje. Zadejte bitové operátory.
bitové operátory pracují na jednotlivých bitech a jsou základními aritmetickými operacemi, které CPU používá. Každý bitový operátor má sadu předem stanovených pravidel, která produkují určitý výstup daný dvěma vstupy.
Můžete rozpoznat tyto nástroje jako ty, které jsou součástí systému, který jsme používali dlouho předtím, než elektřina byla dokonce objevena před: logika. Zatímco bitové operátor může zdát cizí, jsou odvozeny z logické operátory a jako číselné systémy používáme logické operátory jako bitové operátory, protože slouží naše účely efektivně a elegantně vzhledem k naší současné fyzické omezení.
Naším cílem je vzít dvě různé hodnoty reprezentované dvěma možnými znaky a vytvořit novou hodnotu podle sady deterministických pravidel. Níže vidíte, jak se náš systém výrokové logiky dobře promítá do výpočetní logiky:
Přemýšlejte o operátorovi a v kontextu této věty: „Bob jedl oběd a Bob šel do kina.“Pokud je první tvrzení pravdivé a druhé tvrzení nepravdivé, pak je věta nepravdivá.
T & F = F
ale pokud je první příkaz pravdivý a druhý příkaz pravdivý, pak je příkaz pravdivý.
T & T = t
a co operátor OR: „Bob jedl oběd nebo Bob šel do kina“. Pokud je první tvrzení pravdivé a druhé tvrzení nepravdivé, věta je stále pravdivá.
T v F = T
ale pokud jsou obě nepravdivé, pak je věta nepravdivá.
F v F = F
vyměňte T a F s 1 a 0 a máme stavební bloky pro manipulaci s binární vytvářet nové řetězce, binární, a proto nové reprezentace hodnoty. Tyto bitové operátory používáme v logických hradlech, elektronických přepínačích, které používají tuto logiku k vytváření nových hodnot. Představte si následující scénář:
Chcete-li začít zobrazovat čísla, musíte rozsvítit pravou dolní LED v kalkulačce 0, 1, 3, 4, 5, 6, 7, 8, a 9, ale ne číslo 2. To znamená binární čísla 00, 01, 100, 101 110, 111, a 1001, ale ne 10, musí produkovat jeden signál (1). Zase ty elektrické signály do jednoho NA signál, který VEDL můžeme řetězce 3 NEBO logická hradla a logické brány společně, aby zajistily, že tyto hodnoty vedou v buď 1 nebo 0. Níže vidíte příklad čísla 7 reprezentovaného v binárním (1110), což vede k jedinému signálu ON, což má za následek rozsvícení LED vpravo dole.
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. Ukázalo se například, že fotony vykazují zdánlivě protichůdné chování, představující více stavů najednou. Multi-státní chování nám dává další hodnoty, hrát se kromě typického on/off, které obvykle máme s elektrickými signály. Místo použití bitu k ukládání dat používají kvantové počítače qubity, které mohou být buď 1 nebo 0 nebo obojí současně.