Kas yra dvejetainis ir kodėl kompiuteriai jį naudoja?
Kompiuteriai nesupranta žodžių ar skaičių, kaip žmonės daro. Šiuolaikinė programinė įranga leidžia galutiniam vartotojui tai ignoruoti, bet žemiausiu kompiuterio lygiu viskas yra dvejetainis elektros signalas, kuris registruojasi vienoje iš dviejų būsenų: įjungta arba išjungta. Norėdami suprasti sudėtingus duomenis, kompiuteris turi jį koduoti dvejetainiais.
Binarinė yra 2 bazinių skaičių sistema. Bazė 2 reiškia, kad yra tik du skaitmenys-1 ir 0, atitinkantys įjungimo ir išjungimo būsenas, kurias kompiuteris gali suprasti. Jūs tikriausiai esate susipažinę su 10-ojo bazės dešimtainės sistemos duomenimis. Dešimtainis naudoja dešimt skaitmenų, kurie svyruoja nuo 0 iki 9, o tada apvyniojami, kad sudarytų dviejų skaitmenų skaičius, kiekvienas skaitmuo yra dešimt kartų didesnis už paskutinį (1, 10, 100 ir tt). Dvejetainis yra panašus, kiekvienas skaitmuo yra du kartus didesnis už paskutinį.
Skaičiavimas binarine
Dvejetainėje pirmasis skaitmuo yra 1 po kablelio. Antrasis skaitmuo yra 2, trečiasis - 4, ketvirtasis - 8, ir kaskart dvigubai. Šių duomenų pridėjimas suteikia skaičių dešimtainiu skaičiumi. Taigi,
1111 (dvejetainiais) = 8 + 4 + 2 + 1 = 15 (dešimtainiu skaičiumi)
Apskaičiuojant 0, tai suteikia 16 galimų keturių dvejetainių bitų reikšmių. Perkelkite į 8 bitus ir turite 256 galimas reikšmes. Tai užima daug daugiau vietos atstovauti, nes keturi skaitmenys po kablelio suteikia mums 10 000 galimų verčių. Gali atrodyti, kad mes einame per visą šią problemą, kad iš naujo atrastume mūsų skaičiavimo sistemą, kad ji taptų klastingesnė, tačiau kompiuteriai geriau supranta dvejetainį. Be abejo, dvejetainis užima daugiau vietos, tačiau aparatūra ją stabdo. Ir kai kuriems dalykams, pavyzdžiui, loginiam apdorojimui, dvejetainis yra geresnis nei dešimtainis.
Yra ir kita bazinė sistema, naudojama programavimui: šešioliktainis. Nors kompiuteriai neveikia šešioliktainiais, programuotojai jį naudoja atstovaudami dvejetainius adresus žmogaus skaitymo formatu, kai rašo kodą. Taip yra todėl, kad du šešioliktainiai skaitmenys gali atstovauti visą baitą, aštuoni skaitmenys dvejetainiais. Heksadeciminis naudoja 0-9 kaip dešimtainis, o taip pat raidės nuo A iki F, kad vaizduotų papildomus šešis skaitmenis.
Taigi kodėl kompiuteriai naudoja dvejetainį?
Trumpas atsakymas: techninė įranga ir fizikos įstatymai. Kiekvienas jūsų kompiuterio numeris yra elektrinis signalas, o ankstyvosiomis skaičiavimo dienomis labai tiksliai matuoti ir kontroliuoti elektros signalus buvo sunkiau. Labiau prasminga išskirti tik „į“ valstybės atstovaujamą neigiamą krūvį ir „išjungtą“ valstybę, kuriai būdingas teigiamas mokestis. Tiems, kurie nėra tikri, kodėl „išjungtas“ yra teigiamas mokestis, tai yra todėl, kad elektronai turi neigiamą krūvį, o daugiau elektronų reiškia daugiau srovės su neigiamu įkrovimu.
Taigi, ankstyvo kambario dydžio kompiuteriai naudojo dvejetainius, kad sukurtų savo sistemas, ir nors jie naudojosi daug senesne, brangesne aparatūra, laikomės tų pačių pagrindinių principų. Šiuolaikiniai kompiuteriai naudoja tai, kas vadinama tranzistoriumi, atlikti skaičiavimus su dvejetainiais. Štai, kaip atrodo lauko efektas (FET):
Iš esmės, tai leidžia tik srovei tekėti iš šaltinio į drenažą, jei vartuose yra srovė. Tai sudaro dvejetainį jungiklį. Šiuos tranzistorius gamintojai gali pastatyti neįtikėtinai maži-iki 5 nanometrų, arba apie dviejų DNR krypčių dydį. Štai kaip veikia šiuolaikiniai procesoriai, ir netgi jie gali nukentėti nuo problemų, išskiriančių įjungimo ir išjungimo būsenas (nors tai daugiausia dėl jų nerealaus molekulinio dydžio, priklausomai nuo kvantinės mechanikos keistumo).
Bet kodėl tik bazė 2?
Taigi jūs galbūt galvojate, kodėl tik 0 ir 1? Nepavyko tiesiog pridėti kito skaitmens? “Nors kai kurie iš jų yra tradicijos, kaip kompiuteriai yra pastatyti, pridėti kitą skaitmenį reikštų, kad turėtume atskirti skirtingus srovės lygius, ne tik„ išjungti “ir„ įjungti “ “, Bet taip pat teigia, kad„ mažai “ir„ daug “.
Problema čia yra, jei norite naudoti kelis įtampos lygius, jums reikės būdų, kaip lengvai atlikti skaičiavimus su jais, o aparatūra, kuri nėra gyvybinga, kaip dvejetainio skaičiavimo pakaitalas. Tai iš tikrųjų egzistuoja; tai vadinama trimis kompiuteriais, ir tai buvo maždaug nuo 1950-ųjų, bet tai beveik visur, kur ji baigėsi. Terninė logika yra daug efektyvesnė už dvejetainį, bet dar niekas neturi veiksmingo binarinio tranzistoriaus pakeitimo, arba bent jau nėra atliktas darbas kuriant juos tomis pačiomis mažomis svarstyklėmis kaip ir dvejetainis.
Priežastis, kodėl negalime naudoti trišalės logikos, atsiranda taip, kaip tranzistoriai yra sukrauti į kompiuterį, vadinamą „vartais“-ir kaip jie naudojami matematikai atlikti. Vartai ima du įėjimus, atlieka operaciją ir grąžina vieną išėjimą.
Tai atneša mums ilgą atsakymą: dvejetainis matematika kompiuteriui yra lengviau nei bet kas kitas. Būlio logika lengvai įterpiama į dvejetaines sistemas, kuriose „True“ ir „False“ yra pateikiami ir išjungti. Vartai jūsų kompiuteryje veikia pagal logikos logiką: jie ima du įėjimus ir atlieka operaciją, pvz., AND, OR, XOR ir pan. Du įėjimus lengva valdyti. Jei norėtumėte grafikuoti atsakymus į kiekvieną galimą įvestį, jums būtų žinoma kaip tiesos lentelė:
Binarinėje tiesoje veikianti dvejetainė tiesos lentelė turės keturis galimus rezultatus kiekvienai pagrindinei operacijai. Bet kadangi trijų vartų vartai yra trys, trijų lygių tiesos lentelė turėtų 9 ar daugiau. Nors dvejetainėje sistemoje yra 16 galimų operatorių (2 ^ 2 ^ 2), trijų komponentų sistemoje būtų 19 683 (3 ^ 3 ^ 3). Skaidymas tampa problema, nes kol tretinis yra efektyvesnis, jis taip pat yra eksponentiškai sudėtingesnis.
Kas žino? Ateityje mes galėtume matyti, kad trimis kompiuteriais taps dalyku, kai stumiame dvejetainius ribas iki molekulinio lygio. Tačiau dabar pasaulis ir toliau veiks dvejetainiais.
Vaizdo kreditai: spainter_vfx / Shutterstock, Vikipedija, Vikipedija, Vikipedija, Vikipedija