Reklaam

mis on kahendkoodArvestades, et binaarne on nii oluline arvutite olemasolu jaoks, näib veider, et me pole sellega kunagi tegelenud teema varem - seega mõtlesin täna anda lühikese ülevaate sellest, mida binaarne tegelikult tähendab ja kuidas seda kasutatakse arvutid. Kui olete alati mõelnud, mis vahe neil on 8-bitine, 32-bitineja 64-bitine tegelikult on ja miks see on oluline - lugege siis edasi!

Mis on binaarne? Erinevus Base 10 ja Base 2 vahel

Enamik meist on üles kasvanud arvukate 10 maailmas, mille all ma mõtlen, et meil on kümme 'Alus' numbrid (0-9), millest tuletame kõik muud numbrid. Kui oleme need ammendanud, liigume üksuse tasemel üles - 10, 100 ja 1000 - seda loendamise vormi lööb meie aju juba sünnist saati. Tegelikult hakkasime 10. baasis arvestama alles Rooma perioodist. Enne seda oli alus 12 kõige lihtsam ja inimesed kasutasid oma sõrmenukke loendamiseks.

Kui õpime põhikoolis 10. baasi, kirjutame ühikud sageli välja järgmiselt:

mis on kahendkood

Nii et number 1990 koosneb tegelikult 1 x 1000, 9 x 100, 9 x 10ja 0 x 1. Olen kindel, et mul pole vaja 10. baasi põhjalikumalt selgitada.

Aga mis siis, kui selle asemel, et omada täielikku valikut 0,1,2,3,4,5,6,7,8,9 põhinumbritega töötada - mis siis, kui meil ainult oleks 0ja 1. Seda nimetatakse alus 2; ja seda nimetatakse ka tavaliselt binaarne. Binaarses maailmas saate ainult loota 0,1 - siis peate liikuma järgmisele üksuse tasemele.

Loendamine kahendsüsteemis

See aitab tohutult, kui kirjutame binaaride õppimisel ühikud välja. Sel juhul korrutatakse iga lisaühiku 10-ga korrutamise asemel kahega, mis annab meile 1,2,4,8,16,32,64 … Et saaksime arvutada, saame need välja kirjutada nii:

mis on binaarne

Teisisõnu, kahendnumbri parempoolne väärtus tähistab arvu 1-d. Järgmine number, sellest vasakul, tähistab arvu 2. Järgmine tähistab mitu 4'd… ja nii.

Selle teadmisega saame kirjutada binaarsena loendamise tabeli, mille vasakpoolses osas on näidatud samaväärne baasväärtus 10.

mis on kahendkood

Kulutage hetk sellest üle, kuni näete täpselt, miks 25 kirjutatakse numbriga 11001. Te peaksite suutma seda jaotada nii, et väärtus oleks 16 + 8 + 1 = 25.

Töötamine tagurpidi - alus 10 - binaarne

Nüüd peaksite suutma aru saada, mis väärtus on binaalarvul, joonistades sarnase tabeli ja korrutades iga ühiku. Tavalise põhinumbri 10 muutmiseks binaarseks võtab natuke rohkem vaeva. Esimene samm on leida suurim binaarne ühik, mis numbrile „sobib”. Näiteks kui teeksime 35, siis oleks selle tabeli suurim arv, mis mahub 35-ni, seega oleks meil selles veerus 1. Siis on meil järelejäänud 3 - mis vajaks 2 ja siis lõpuks 1. Nii et saame 100011.

8-bitised, baitid ja oktetid

Ülaltoodud tabel on 8-bitine, kuna meie binaalarvu jaoks on maksimaalselt 8 nulli ja üks. Seega on maksimaalne arv, mida me võime esindada 11111111, või 255. Sellepärast, et esindada mis tahes numbrit alates 0-255, vajame vähemalt 8 bitti. Oktett ja Byte on lihtsalt veel üks viis kaheksa bitti öelda. Seetõttu 1 bait = 8 bitti.

32 vs 64-bitine andmetöötlus

Tänapäeval kuulete sageli termineid 32- ja 64-bitised versioonid ja võite teada, et 32-bitine Windows saab ainult toetada kuni 4 gigabaiti muutmälu. Miks see nii on?

Kõik taandub mälu käsitlemisele. Igal mälu bitil on sellele juurde pääsemiseks kordumatu aadress. Kui meil oleks 8-bitine mälu adresseerimissüsteemi, saaksime olla ainult maksimaalselt 256 baiti mälust. Koos 32-bitine mälu adresseerimissüsteem (Kujutage ette, et ülaltoodud tabelit saab laiendada 32 binaarühiku veergu), saame minna kuhu iganes 4,294,967,296? 4 miljardit baitivõi teisisõnu - 4 GIGAbaiti.64-bitine andmetöötlus eemaldab sisuliselt selle piiri, andes meile järele 18 kvintilli erinevad aadressid - arv, mida enamik meist lihtsalt ei suuda mõista.

IPv4 adresseerimine

Viimane mure arvutimaailmas on kõik IP-aadresside kohta IPv6 ja tulemas ARPAgeddon [Technology Explained] Loe rohkem , eriti IPv4 aadressid, nagu need:

  • 192.168.0.1
  • 200.187.54.22

Need koosnevad tegelikult 4 numbrist, millest igaüks tähistab väärtust kuni 255. Kas oskate arvata, miks? Jep, kogu aadressi tähistab 4 oktetti (Kokku 32 bitti). See tundus kohutavalt paljude võimalike aadressidena (tegelikult umbes 4 miljardit) ajal, kui Internet esimest korda leiutati, kuid nüüd on meil aeg otsa saanud, kui kõik meie elus tuleb ühendada. Selle lahendamiseks kasutab uus IPv6 128 bitti kokku, andes meile umbkaudu 340 alamrilli (pane 38 nulli otsa) aadressid, millega mängida.

Jätan selle tänaseks päevaks, nii et jõuan tagasi oma algse eesmärgi juurde, milleks oli järgmise Arduino õpetuse kirjutamine - milles kasutame laialdaselt bitsiirete registrit. Ma loodan, et täna on teile antud põhiteadmised selle kohta, kuidas binaarne on arvutite jaoks nii oluline, miks samu numbreid kuvatakse ja miks bitti, mida me peame midagi esindama, seab mälumahu, ekraani suuruse, võimalike värviväärtuste või ainulaadsete IP-aadresside jaoks piiratud piirangu. Järgmine kord vaatame lähemalt binaarsed loogikaarvutused, mis on peaaegu kõik, mida arvutiprotsessor teeb, samuti see, kuidas arvutid võivad esindada negatiivseid numbreid.

Kommentaarid? Segadus? Kas leidsite, et minu selgitust on lihtne mõista? Igal juhul võtke palun kommentaarides ühendust. Ma jätan teile binaarse nalja!

Maailmas on ainult 10 tüüpi inimesi: need, kes saavad aru binaarne, ja need, kes seda ei tee.

Kujutise krediit: Shutterstock

Jamesil on tehisintellekti BSc ning ta on CompTIA A + ja Network + sertifikaadiga. Ta on MakeUseOfi juhtiv arendaja ja veedab oma vaba aega VR-i paintballi ja lauamänge mängides. Ta on lapsest peale arvutit ehitanud.