Tietokoneet eivät ymmärrä sanoja tai numeroita, miten ihmiset tekevät. Nykyaikainen ohjelmisto sallii loppukäyttäjän jättää tämän huomiotta, mutta tietokoneen alimmilla tasoilla kaikki on esitetty binäärielektrisellä signaalilla, joka rekisteröidään jossakin kahdesta tilasta: päälle tai pois päältä. Jotta monimutkaiset tiedot saataisiin, tietokoneen on koodattava se binääriin.
Binaari on perusnumerojärjestelmä. Base 2 tarkoittaa, että vain kaksi numeroa - 1 ja 0 - vastaavat tietokoneen kykenevää ja sammutustilaa. Olet luultavasti tuttu base 10-desimaalijärjestelmästä. Desimaaliluku käyttää kymmenen numeroa, jotka vaihtelevat välillä 0 - 9 ja kiertyvät sitten muodostamaan kaksinumeroiset numerot, joiden kullakin numerolla on kymmenen kertaa enemmän kuin viimeinen (1, 10, 100 jne.). Binaari on samanlainen, ja jokainen numero on kaksi kertaa enemmän kuin viimeinen.
Binaarissa ensimmäinen numero on 1 desimaaliluku. Toinen luku on 2, kolmas arvo 4, neljäs arvo 8, ja niin kaksinkertaistetaan joka kerta. Näiden kaikkien lisääminen antaa sinulle desimaaliluvun. Niin,
1111 (binäärisessä) = 8 + 4 + 2 + 1 = 15 (desimaalina)
Kun lasketaan 0, tämä antaa meille 16 mahdollista arvoa neljälle binääribitille. Siirrä 8 bittiin ja sinulla on 256 mahdollista arvoa. Tämä vie paljon enemmän tilaa edustamaan, sillä nelinumeroinen desimaali antaa meille 10000 mahdollista arvoa. Saattaa tuntua siltä, että menemme läpi kaiken tämän ongelman, joka paljastaa laskentajärjestelmämme uudelleen, jotta se muuttuisi entistä rummallisemmaksi, mutta tietokoneet ymmärtävät binäärikohtaisesti paljon paremmin kuin he ymmärtävät desimaalin. Toki, binaari vie enemmän tilaa, mutta laitteisto pysäyttää sen. Ja tietyistä asioista, kuten logiikan käsittelystä, binääri on parempi kuin desimaali.
On olemassa toinen perusjärjestelmä, jota käytetään myös ohjelmoinnissa: heksadesimaali. Vaikka tietokoneet eivät toimi heksadesimaalisesti, ohjelmoijat käyttävät sitä binääriosoitteiden esittämiseen ihmisen luettavassa muodossa koodin kirjoitettaessa. Tämä johtuu siitä, että heksadesimaaliluvun kaksi numeroa voivat edustaa koko tavua, kahdeksan numeron binaarissa. Hexadecimal käyttää 0-9 kuten desimaali, ja myös kirjaimet A-F edustaa kuutta muuta numeroa.
Lyhyt vastaus: laitteisto ja fysiikan lait. Jokainen tietokoneesi numero on sähköinen signaali, ja laskennan alkuvaiheessa sähköiset signaalit olivat paljon vaikeampia mitata ja hallita hyvin tarkasti. Sillä oli järkevämpää vain erottaa toisistaan negatiivisen varauksen muodostamat valtiolliset edustustot ja myönteisen maksun muodostamat valtiot. Niille, jotka eivät ole varmoja siitä, miksi äänenvoimakkuutta edustaa positiivinen varaus, se johtuu siitä, että elektronilla on negatiivinen varaus - enemmän elektronia tarkoittaa nykyistä enemmän negatiivista varausta.
Joten varhaiset huonekokoiset tietokoneet käyttävät binääriä rakentamaan järjestelmiään, ja vaikka he käyttivät paljon vanhempia, bulkkia laitteistoja, olemme säilyttäneet samoja perusperiaatteita. Nykyaikaiset tietokoneet käyttävät transistoreina tunnettua laskutoimitusta binääriin. Tässä on kaavio siitä, mitä kenttä-efektitransistori (FET) näyttää:
Pohjimmiltaan se vain mahdollistaa virran kulun lähteestä viemäriin, jos portissa on virta. Tämä muodostaa binäärikytkimen. Valmistajat voivat rakentaa nämä transistorit uskomattoman pieniksi - aina 5 nanometrille asti tai noin kahden DNA: n säikeen koosta. Näin modernit prosessorit toimivat, ja jopa he voivat kärsiä ongelmista, jotka eroavat toisistaan ja pois valtioiden välillä (vaikka tämä johtuu enimmäkseen niiden epätodellisesta molekyylikokoisesta, mikä altistuu kvanttimekaniikan kummallisuudelle).
Joten ehkä ajattelet, että vain 0 ja 1? Etkö voinut lisätä muuta numeroa? Kun taas jotkut niistä laskevat perinteen mukaan tietokoneiden rakentamiseen, toisen numeron lisääminen merkitsisi sitä, että meidän olisi erotettava toisistaan nykyiset tasot - ei vain, äänet ja , Äúon,, Äù mutta myös sanoo, että "vähän", ja "Äúon a lot.,ùù
Ongelmana tässä on, jos haluat käyttää useita jännitteen tasoja, tarvitset tapaa tehdä helposti laskelmia niiden kanssa, ja laitteisto ei ole elinkelpoinen binääritutkimuksen korvaamiseksi. Se todellakin on olemassa; sitä kutsutaan kolmijakoiseksi tietokoneeksi, ja se on ollut jo 1950-luvulta lähtien, mutta se on melko paljon, jos sen kehitys pysähtyi. Ternäärinen logiikka on tehokkaampi kuin binääri, mutta vieläkään kukaan ei ole tehokkaasti korvaava binääritransistori, tai ainakaan ei ole tehty työtä niiden kehittämisessä samalla pienellä asteikolla kuin binaarilla.
Syy, jota emme voi käyttää ternääristä logiikkaa, tulee tapaan, jolla transistorit pinotaan tietokoneeseen - jotain kutsutaan,-ja miten he ovat käyttäneet matematiikan suorittamiseen. Portit ottavat kaksi tuloa, suorittavat toiminnon niille ja palauttavat yhden tuloksen.
Tämä tuo meidät pitkään vastaukseen: binääri matematiikka on tietokoneelle helpompaa kuin mikään muu. Boolen logiikka kartat helposti binaarijärjestelmiin, kun True ja False on edustettuna päälle ja pois. Tietokoneesi portit toimivat logiikan logiikalla: ne ottavat kaksi sisääntuloa ja suorittavat operaation niille kuten AND, OR, XOR ja niin edelleen. Kaksi tuloa on helppo hallita. Jos haluat kuvailla vastauksia jokaiselle mahdolliselle syötteelle, niin sinulla olisi mitä tunnetaan totutustaulukoksi:
Boolean logiikassa toimiva binäärinen totuusteksti sisältää neljä mahdollista ulostuloa kullekin perustoiminnolle. Mutta koska kolmiportaiset portit ottavat kolmea panosta, kolmioparin totuuden taulukossa olisi 9 tai enemmän. Vaikka binäärijärjestelmässä on 16 mahdollista operaattoria (2 ^ 2 ^ 2), kolmijärjes- telmällä olisi 19 683 (3 ^ 3 ^ 3). Skaalaus tulee kysymykseen, koska kun kolmas on tehokkaampi, se on myös eksponentiaalisesti monimutkaisempi.
Kuka tietää? Tulevaisuudessa voisimme alkaa nähdä kolmiomaiset tietokoneet tulemaan asiaksi, kun siirrämme binaarin rajat molekyylitasolle. Toistaiseksi maailma jatkaa kuitenkin binaarissa.
Kuvahaku: spainter_vfx / Shutterstock, Wikipedia, Wikipedia, Wikipedia, Wikipedia