It ’ s All 1s and 0s: How Computers Map the Physical World
numero ”12” ei ole arvo 12 kananmunapakkauksessa. Sana ”rock” ei ole se kivi, johon törmää ulkona. Sen sijaan ne ovat vain symboleja, jotka on luotu kokoelmasta muita symboleja, jotka edustavat erityisiä käsitteitä, jotka karttavat hyvin ympäröivää maailmaa. Ne ovat työkaluja, jotka antavat meille kyvyn hajottaa maailma, massa Materiaa, hallittaviin osiin. Käytämme niitä, ei siksi, että ne ovat objektiivisesti ”totta”, vaan koska ne ovat hyödyllisiä tavoitteidemme saavuttamisessa, koska ne asettavat fyysisiä rajoituksia.
pohjimmiltaan tietokoneiden binäärikäyttö ei ole sen monimutkaisempaa. Vain yksi ihmistekoinen järjestelmä, joka on luotu jonkin päämäärän saavuttamiseksi tiettyjä rajoituksia silmällä pitäen.
ennen kuin mietitään, miten tietokoneet käyttävät binäärijärjestelmää, on hyvä miettiä, miksi käytämme denaarista järjestelmää. Tavoitteenamme on pystyä edustamaan numeerisia arvoja ja viestimään niistä muille. Voimme kuvitella järjestelmän, jossa meillä oli uusi merkki jokaiselle kuviteltavissa olevalle numerolle. Esimerkiksi 156 olisi itse asiassa eräänlainen kiemurteleva viiva, jonka päällä on koukku, eikä sitä tule sekoittaa 38: n symboliin, jota edustaisi ympyrä, jonka päällä on viiva. Se olisi tehokkain tapa edustaa arvoja, koska tarvitset vain yhden merkin kerrallaan edustamaan suurimpiakin numeroita merkkiketjun sijaan. Mutta se ei olisi käytännöllisintä. Kuvitelkaa 1. luokan opettaja testaamassa oppilaitaan 1589: ää edustavan hahmon ja 2000478: aa edustavan hahmon ja kaikkien niiden välillä olevien merkkien välillä.
on selvää, että on olemassa raja sille, kuinka monta merkkiä haluamme olla käytettävissä edustusjärjestelmässämme. Entä sitten spektrin vastakkainen pää: yhteneväinen järjestelmä, jossa on vain yksi available-merkki? Toki, se on mahdollista — nyt näyttää minulle 2,000,478 käyttäen base-1 järjestelmä. On selvää, että tämäkin on epäkäytännöllistä.
yhtäkkiä base-10-järjestelmä on järkevä, koska se ei ole ainoa käytettävissä oleva numerojärjestelmä, mutta se sopii hyvin, koska tarvitsemme käytännöllisyyttä, tyylikkyyttä ja tehokkuutta. Vain 10 käytettävällä merkillä voin esittää luvun 2 000 478 helposti kertomalla kyseisen sarakkeen numeerisen arvon seuraavalla potenssilla 10, kuten alla esitetään:
- 2 x 10⁶= 2 000 000
- 0 x 10⁴= 0
- 0 x 103= 0
- 4 x 102= 400
- 7 x 101 = 70
- 8 x 10⁰ = 8
Sum = 2 000,478
mikä mahtava arvojen esitysjärjestelmä. Mikseivät tietokoneet käytä sitä järjestelmää?
Denaarista binääriin
sähkövirrat ovat joko käynnissä (open / on) tai ne eivät ole (closed / off) eli meillä on käytössämme kaksi arvomerkkiä: 1 ja 0. Koska nämä rajoitukset, Voimme käyttää samaa menetelmää käytimme valita base-10 järjestelmä löytää järjestelmän edustus, että tietokoneet voivat käyttää.Vain kaksi valtiota voi edustaa eri merkkejä ainoa vaihtoehto binary olisi tally järjestelmä. Mutta edustaaksemme arvoa 255, tarvitsemme 255 numeroa. Se on 255 ”on” transistorit edustaa suhteellisen pieni määrä. Binary tarvitsee vain 8 saavuttaakseen saman tavoitteen.
näin binary tekee sen.
perus-2-systeemi toimii samalla tavalla kuin perus-10-systeemi, mutta sen sijaan, että jokaisen sarakkeen arvo kerrottaisiin seuraavalla 2: n kerrannaisella, ne sen sijaan kerrottaisiin seuraavalla 2: n kerrannaisella. Esimerkiksi binääriluku 10100 voidaan kääntää kantaluvuksi 10 yksinkertaisesti laskemalla alla olevat lasketut arvot yhteen:
- 1 x 2⁴ = 16
- 0 x 23 = 0
- 1 x 22 = 4
- 0 x 21 = 0
biteistä tavuiksi
tästä voimme alkaa rakentaa sopimusta siitä, miten tätä numeerista järjestelmää käytetään kartoittamaan ympärillämme olevaa maailmaa sähköisillä pulsseilla päälle ja pois päältä. Ensinnäkin, annetaan meidän merkkiä nimi: Binary numeroa tai bittiä lyhyesti, pienin yksikkö tietojen tietokoneen.
seuraavaksi määritellään, kuinka monta bittiä tarvitaan esittämään ei-numeerinen arvo, kuten kirjain tai erikoismerkki. Tämä prosessi on yhtä keksitty kuin prosessi, jossa valitaan numeerinen järjestelmä edustamaan arvoa. Meillä on tietyt tavoitteet, tietyt ennalta sovitut työkalut ja yleinen halu tyylikkyyteen ja tehokkuuteen. Näppäimistössä on 101 merkkiä, joten meidän on esitettävä 101 binäärissä maksimiarvona. Kävi ilmi, että 101 perus-10: ssä on luku 01100101 binäärissä. Se on perustaso vaatimus 7 käytettävissä transistorit, jos haluamme kartoittaa jokaisen avaimen tiettyyn numeeriseen arvoon. Mutta entä jos on muitakin hahmoja, joita haluamme edustaa? Kun 7, kaikki on päällä, Edustamme vain numeroa 127 base-10: ssä. Voimme yhtä hyvin tehdä vielä yhden asian.
ja siten meillä on tavuja, mittaustiedon perusyksikkö, jonka sanotaan edustavan vähintään yhtä merkkiä. Voimme nyt edustaa arvoja 0-255 (00000000-1111111).
koska tietokoneet voivat ymmärtää vain numeroita, perustettiin American Standard Code for Information Interchange (ASCII) antamaan jokaiselle näppäimistön merkille tietty numeerinen arvo alla kuvatulla tavalla:
esimerkiksi näin edustaisit lausetta ”hello world!”binaarissa:
- teksti: Hello World!
- ASCII-numerot: 072 101 108 108 111 032 087 111 114 108 100 033
- Binary: 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
tekstin tavoin myös kuvat on muutettava binäärisiksi. Voimme esittää kuvia binäärissä jakamalla kuvan pikselien ruudukkoon ja hajottamalla jokaisen pikselin värin 3 värin (punainen, vihreä ja sininen) yhdistelmäksi, jota kutsutaan tyypillisesti pikselien RGB-arvoksi. Suurin arvo kukin näistä väreistä voi olla erikseen on 255 ja minimi on 0, eli jokainen värit arvo kunkin pikselin voidaan esittää 1 tavu yhteensä 3 tavua per pikseli.
esimerkkinä voidaan esittää yllä näkyvän vihreän pikselin sävy paikassa (1,0) RGB: ssä ja alla olevassa binäärissä:
- RGB-arvot: (6, 250, 7)
- Binary: 00000110, 11111010, 00000111
lopuksi voidaan esittää äännedataa myös binäärissä käyttäen ”näytteenottoa”. Kuvaamalla ääniaaltoja tallennetun äänen ja toteaa arvot aaltojen korkeudet säännöllisin väliajoin voimme sitten muuntaa nämä arvot binary ja sitten luoda, että ääniaalto käyttäen näitä binary arvoja myöhemmin.
esimerkiksi yllä olevan ääniaallon desimaaliarvo on 8 aikavälillä 1, jolloin sille saadaan tavuarvo 00001000.
Binäärisestä logiikkaan
on monia eri tapoja tallentaa binääritietoa, kuten reikäkortteja, magnetoitua nauhaa, optisia levyjä jne. Kaikki käyttävät tätä perus-2-järjestelmän arvojen esittämistä koskevaa käytäntöä. Maailman edustaminen binäärissä on kuitenkin vain puolet taistelusta. Toinen puoli operoi sitä. Syötä bitwise operaattorit.
Bitwise-operaattorit toimivat yksittäisillä biteillä ja ovat suorittimen käyttämiä perusaritmeettisia operaatioita. Jokainen bitwise operaattori on joukko ennalta sääntöjä, jotka tuottavat tietyn tuotoksen annetaan kaksi tuloa.
saatat tunnistaa nämä työkalut sellaisiksi, jotka ovat osa järjestelmää, jota olemme käyttäneet kauan ennen kuin sähköä edes keksittiin: logiikka. Vaikka bitwise operaattori voi tuntua ulkomaalainen, ne ovat peräisin loogiset operaattorit ja kuten numeeriset järjestelmät käytämme loogisia operaattoreita kuin bitwise operaattorit, koska ne palvelevat tarkoituksiamme tehokkaasti ja tyylikkäästi ottaen huomioon nykyiset fyysiset rajoitteet.
tavoitteemme on ottaa kaksi eri arvoa, joita kaksi mahdollista merkkiä edustavat, tuottamaan uusi arvo determinististen sääntöjen joukon mukaan. Voit nähdä, miten propositiologiikan järjestelmämme kääntyy hyvin laskennalliseksi logiikaksi alla:
ajattele operaattoria tämän lauseen yhteydessä: ”Bob söi lounasta ja Bob meni elokuviin.”Jos ensimmäinen väite on tosi ja toinen väite epätosi, niin lause on epätosi.
t & F = f
, mutta jos ensimmäinen väite on tosi ja toinen väite tosi, niin väite on tosi.
t & t = t
entäs se tai operaattori: ”Bob söi lounaan tai Bob meni elokuviin”. Jos ensimmäinen lause on tosi ja toinen epätosi, lause on edelleen tosi.
T v F = t
, mutta jos molemmat ovat epätosia, niin lause on epätosi.
F v f = f
korvaa nyt T: T ja F: T 1: llä ja 0: lla, ja meillä on rakennuspalikat binäärin manipulointiin, jotta saadaan luotua uusia binäärisiä merkkijonoja ja siten uusia arvojen representaatioita. Käytämme näitä bitwise-operaattoreita logiikkaporteissa, elektronisissa kytkimissä, jotka käyttävät tätä logiikkaa uusien arvojen tuottamiseen. Kuvitelkaa seuraava skenaario:
sinun on sytytettävä laskimen alaoikea LED alkaaksesi näyttää numeroita 0, 1, 3, 4, 5, 6, 7, 8, ja 9, mutta ei numeroa 2. Se tarkoittaa binäärilukuja 00, 01, 100, 101 110, 111, ja 1001 mutta ei 10 tarvitse tuottaa yhden signaalin (1). Kääntää nämä sähköiset signaalit yhdeksi signaalin että LED voimme ketjuttaa 3 tai logiikka portit ja ei logiikka portti yhdessä varmistaa, että nämä arvot johtavat joko 1 tai 0. Alla, näet esimerkin numero 7 edustettuna binary (1110) johtaa yhden signaalin, joka johtaa alaoikea LED valaistus ylös.
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. Esimerkiksi fotonien on osoitettu käyttäytyvän näennäisesti ristiriitaisesti ja edustavan useita tiloja yhtä aikaa. Monitilakäyttäytyminen antaa meille lisäarvoja, joilla leikkiä tyypillisen päälle/pois-toiminnon lisäksi, jonka yleensä saamme sähköisillä signaaleilla. Sen sijaan, että kvanttitietokoneet käyttäisivät bittiä datan tallentamiseen, ne käyttävät qubitteja, jotka voivat olla joko 1 tai 0 tai molemmat samanaikaisesti.