Paloturvallisuuden tietosanakirja

Binaarikoodin salauksen purku verkossa. Binäärikoodi - missä ja miten sitä käytetään

binäärikoodi on tapa kirjoittaa tietoa ykkösten ja nollien muodossa. Tämä on paikallinen kanta 2:lla. Nykyään binäärikoodia (alla oleva taulukko sisältää joitakin esimerkkejä numeroiden kirjoittamisesta) käytetään poikkeuksetta kaikissa digitaalisissa laitteissa. Sen suosio johtuu tämän tallennusmuodon korkeasta luotettavuudesta ja yksinkertaisuudesta. Binaariaritmetiikka on hyvin yksinkertaista, joten se on helppo toteuttaa myös laitteistossa. komponentit (tai kuten niitä kutsutaan myös loogisiksi) ovat erittäin luotettavia, koska ne toimivat vain kahdessa tilassa: loogisessa (virta on) ja loogisessa nollassa (virtaa ei ole). Siten ne vertautuvat suotuisasti analogisiin komponentteihin, joiden toiminta perustuu transientteihin.

Miten binäärimerkintä muodostetaan?

Katsotaanpa, kuinka tällainen avain muodostuu. Binaarikoodin yksi bitti voi sisältää vain kaksi tilaa: nolla ja yksi (0 ja 1). Kahta numeroa käytettäessä on mahdollista kirjoittaa neljä arvoa: 00, 01, 10, 11. Kolminumeroinen tietue sisältää kahdeksan tilaa: 000, 001 ... 110, 111. Tämän seurauksena huomaamme, että binäärikoodi riippuu numeroiden määrästä. Tämä lauseke voidaan kirjoittaa seuraavalla kaavalla: N =2m, missä: m on numeroiden lukumäärä ja N on yhdistelmien lukumäärä.

Binäärikoodien tyypit

Mikroprosessoreissa tällaisia ​​avaimia käytetään erilaisten käsiteltyjen tietojen tallentamiseen. Binaarikoodin bittisyvyys voi merkittävästi ylittää sen sisäisen muistin. Tällaisissa tapauksissa pitkät luvut vievät useita muistisoluja ja niitä käsitellään useilla komennoilla. Tässä tapauksessa kaikki muistisektorit, jotka on varattu monitavuiselle binäärikoodille, katsotaan yhdeksi numeroksi.

Riippuen tarpeesta antaa tämä tai tämä tieto, erotetaan seuraavat avaimet:

  • allekirjoittamaton;
  • suorat kokonaislukumerkkikoodit;
  • signeeratut käänteiset;
  • allekirjoittaa lisää;
  • harmaa koodi;
  • Gray-Express koodi.;
  • murtolukukoodeja.

Tarkastellaan jokaista niistä yksityiskohtaisemmin.

Allekirjoittamaton binaari

Katsotaanpa, mikä tämän tyyppinen ennätys on. Etumerkittömissä kokonaislukukoodeissa jokainen numero (binääri) edustaa kahden potenssia. Tässä tapauksessa pienin tähän muotoon kirjoitettava luku on nolla ja maksimi voidaan esittää seuraavalla kaavalla: M=2 p -1. Nämä kaksi numeroa määrittelevät täysin avaimen alueen, joka voi ilmaista tällaisen binäärikoodin. Katsotaanpa mainitun sisääntulomuodon mahdollisuuksia. Käytettäessä tämäntyyppistä, kahdeksasta bitistä koostuvaa etumerkötöntä avainta mahdollisten lukujen alue on 0-255. 16-bittisen koodin alue on 0-65535. Kahdeksanbittisissä prosessoreissa muistin kaksi sektoria on käytetään tallentamiseen ja kirjoittamiseen tällaisten numeroiden, jotka sijaitsevat vierekkäisissä kohteissa . Työskentely tällaisten näppäinten kanssa tapahtuu erityisillä komennoilla.

Suorat kokonaislukumerkityt koodit

Tämän tyyppisissä binäärinäppäimissä merkittävintä numeroa käytetään luvun etumerkin kirjoittamiseen. Nolla on positiivinen ja yksi negatiivinen. Tämän bitin käyttöönoton seurauksena koodattujen numeroiden alue siirtyy negatiivinen puoli. Osoittautuu, että kahdeksan bitin etumerkillä varustettu kokonaislukubinääriavain voi kirjoittaa numeroita välillä -127 - +127. 16-bittinen - alueella -32767 - +32767. Kahdeksanbittisissä mikroprosessoreissa tällaisten koodien tallentamiseen käytetään kahta vierekkäistä sektoria.

Tämän tallennusmuodon haittana on, että avaimen etumerkki- ja numerobitit on käsiteltävä erikseen. Näiden koodien kanssa toimivien ohjelmien algoritmit ovat hyvin monimutkaisia. Merkin bittien muuttamiseksi ja korostamiseksi on tarpeen käyttää tämän symbolin maskausmekanismeja, mikä lisää koon jyrkkää ohjelmisto ja hidastaa sen nopeutta. Poistamiseksi tämä puute esiteltiin uutta lajia avain - käänteinen binäärikoodi.

Allekirjoitettu käänteinen avain

Tämä merkintämuoto eroaa suorista koodeista vain siinä, että siinä oleva negatiivinen luku saadaan kääntämällä kaikki avaimen bitit. Tässä tapauksessa digitaali- ja merkkibitit ovat identtisiä. Tästä johtuen tämäntyyppisten koodien kanssa työskentelyn algoritmit yksinkertaistuvat huomattavasti. Käänteinen avain vaatii kuitenkin erityisen algoritmin ensimmäisen numeron merkin tunnistamiseksi ja luvun itseisarvon laskemiseksi. Sekä tuloksena olevan arvon etumerkin palauttaminen. Lisäksi numeron käänteisessä ja suorassa koodissa käytetään kahta näppäintä nollan kirjoittamiseen. Vaikka tällä arvolla ei ole positiivista tai negatiivista merkkiä.

Allekirjoitettu Two's Complement Code of Binary Number

Tämän tyyppisellä tietueella ei ole lueteltuja aiempien avainten haittoja. Tällaiset koodit mahdollistavat sekä positiivisten että negatiivisia lukuja. Tässä tapauksessa etumerkkibitin analyysiä ei suoriteta. Kaiken tämän tekee mahdolliseksi se, että täydentävät numerot ovat luonnollinen symbolien rengas, eivät keinotekoisia muodostelmia, kuten eteen- ja taaksepäin-näppäimiä. Lisäksi, tärkeä tekijä on se, että komplementtien laskeminen binäärikoodeissa on erittäin helppoa. Tätä varten riittää, kun lisäät yksikön peruutusnäppäimeen. Käytettäessä tämäntyyppistä kahdeksasta numerosta koostuvaa merkkikoodia mahdollisten numeroiden alue on -128 - +127. 16-bittisen avaimen alue on -32768 - +32767. Kahdeksanbittisissä prosessoreissa tällaisten numeroiden tallentamiseen käytetään myös kahta vierekkäistä sektoria.

Binäärisen kahden komplementti on mielenkiintoinen havaitun vaikutuksen vuoksi, jota kutsutaan merkkien etenemisilmiöksi. Katsotaan mitä se tarkoittaa. Tämä vaikutus on se, että muunnettaessa yhden tavun arvoa kaksitavuiseksi arvoksi riittää, että alemman tavun etumerkkibittien arvot osoitetaan jokaiselle korkean tavun bitille. Osoittautuu, että voit käyttää korkeita bittejä merkin tallentamiseen. Avaimen arvo ei muutu ollenkaan.

Harmaa koodi

Tämä tietuemuoto on itse asiassa yksivaiheinen avain. Toisin sanoen siirtymisprosessissa arvosta toiseen vain yksi tiedon bitti muuttuu. Tässä tapauksessa virhe tietojen lukemisessa johtaa siirtymiseen paikasta toiseen pienellä ajassa. Täysin väärän tuloksen saaminen kulma-asennosta tällaisessa prosessissa on kuitenkin täysin poissuljettu. Tällaisen koodin etuna on sen kyky peilata tietoa. Esimerkiksi kääntämällä korkeita bittejä, voit yksinkertaisesti muuttaa laskentasuuntaa. Tämä johtuu komplementin ohjaustulosta. Tässä tapauksessa lähtöarvo voi olla sekä kasvava että laskeva akselin yhdellä fyysisellä pyörimissuunnalla. Koska Gray-näppäimeen tallennetut tiedot ovat yksinomaan koodattuja, jotka eivät sisällä todellista numeerista dataa, ennen jatkotyöskentelyä se on ensin muutettava merkinnän tavanomaiseen binäärimuotoon. Tämä tehdään erityisellä muuntimella - Gray-Binar-dekooderilla. Tämä laite on helppo toteuttaa peruslogiikan elementeillä sekä laitteistossa että ohjelmistossa.

Grey Express Code

Grayn standardi yksivaiheinen näppäin soveltuu ratkaisuihin, jotka esitetään numeroina, kaksi. Tapauksissa, joissa on tarpeen toteuttaa muita ratkaisuja, tästä tallennusmuodosta leikataan vain keskiosa ja sitä käytetään. Tämän seurauksena yksivaiheinen avain säilyy. Tällaisessa koodissa numeroalueen alku ei kuitenkaan ole nolla. Sitä kompensoi asetettu arvo. Tietojen käsittelyn aikana generoiduista pulsseista vähennetään puolet alkuperäisen ja pienennetyn resoluution erosta.

Murtoluvun esitys kiinteän pisteen binääriavaimessa

Työprosessissa on operoitava paitsi kokonaislukujen, myös murto-osien kanssa. Tällaisia ​​numeroita voidaan kirjoittaa käyttämällä suoria, käänteisiä ja lisäkoodeja. Mainittujen avainten muodostamisen periaate on sama kuin kokonaislukujen kohdalla. Tähän asti olemme olettaneet, että binääripilkun tulee olla vähiten merkitsevän numeron oikealla puolella. Mutta se ei ole. Se voi sijaita merkittävimmän numeron vasemmalla puolella (tässä tapauksessa vain murtolukuja voidaan kirjoittaa muuttujaksi) ja muuttujan keskellä (sekoitetut arvot voidaan kirjoittaa).

Binäärikoodin liukulukuesitys

Tätä lomaketta käytetään tallentamiseen tai päinvastoin - hyvin pieni. Esimerkkinä ovat tähtienväliset etäisyydet tai atomien ja elektronien koot. Tällaisia ​​arvoja laskettaessa jouduttaisiin käyttämään binaarikoodia, jolla on erittäin suuri bittisyvyys. Meidän ei kuitenkaan tarvitse ottaa huomioon kosmisia etäisyyksiä lähimpään millimetriin. Siksi kiinteän pisteen merkintä on tehoton tässä tapauksessa. Tällaisten koodien näyttämiseen käytetään algebrallista muotoa. Toisin sanoen luku kirjoitetaan mantissaksi kerrottuna kymmenellä edustavaan potenssiin oikea järjestys numeroita. Sinun tulisi tietää, että mantissa ei saa olla suurempi kuin yksi, eikä nollaa saa kirjoittaa desimaalipilkun jälkeen.

Saksalaisen matemaatikko Gottfried Leibnizin uskotaan keksineen binaarilasken 1700-luvun alussa. Kuitenkin, kuten tutkijat äskettäin havaitsivat, kauan ennen Polynesian Mangarevan saarta, ihmiset käyttivät tätä lajia aritmeettinen. Huolimatta siitä, että kolonisaatio tuhosi alkuperäiset lukujärjestelmät lähes kokonaan, tutkijat ovat palauttaneet monimutkaiset binääri- ja desimaalilaskennan tyypit. Lisäksi kognitiotieteilijä Nunez väittää, että binäärikoodausta on käytetty mm muinainen Kiina jo 9. vuosisadalla eKr. e. Muut muinaiset sivilisaatiot, kuten Mayat, käyttivät myös monimutkaisia ​​desimaali- ja binäärijärjestelmien yhdistelmiä aikavälejen ja tähtitieteellisten ilmiöiden seuraamiseen.

08. 06.2018

Dmitri Vassiyarovin blogi.

Binäärikoodi - missä ja miten sitä käytetään?

Tänään olen erityisen iloinen saadessani tavata teidät, rakkaat lukijani, koska tunnen olevani opettaja, joka heti ensimmäisellä oppitunnilla alkaa esitellä kirjaimia ja numeroita luokassa. Ja koska elämme digitaalisten teknologioiden maailmassa, kerron teille, mikä on binäärikoodi, joka on niiden perusta.

Aloitetaan terminologiasta ja selvitetään, mitä binääri tarkoittaa. Selvyyden vuoksi palataan tavalliseen laskelmaan, jota kutsutaan "desimaaliluvuksi". Käytämme siis 10 numeroa, jotka mahdollistavat kätevästi eri numeroiden käytön ja asianmukaisen kirjaamisen. Tämän logiikan mukaisesti binäärijärjestelmä mahdollistaa vain kahden merkin käytön. Meidän tapauksessamme se on vain "0" (nolla) ja "1" yksi. Ja tässä haluan varoittaa teitä siitä, että hypoteettisesti heidän tilallaan voi olla muita. yleissopimuksia, mutta juuri nämä arvot, jotka ilmaisevat poissaolon (0, tyhjä) ja signaalin olemassaolon (1 tai "tikku"), auttavat meitä ymmärtämään paremmin binäärikoodin rakennetta.

Miksi tarvitsemme binäärikoodin?

Ennen tietokoneiden tuloa erilaisia automaattiset järjestelmät, jonka toimintaperiaate perustuu signaalin vastaanottamiseen. Anturi laukeaa, piiri suljetaan ja tietty laite kytketään päälle. Ei virtaa signaalipiirissä - ei toimintaa. Elektroniset laitteet tekivät mahdolliseksi edistyä piirissä olevan jännitteen läsnäolon tai puuttumisen edustamien tietojen käsittelyssä.

Niiden lisämutkaisuus johti ensimmäisten prosessorien syntymiseen, jotka myös tekivät työnsä, prosessoimalla jo signaalia, joka koostui tietyllä tavalla vuorottelevista pulsseista. Emme mene nyt ohjelmiston yksityiskohtiin, mutta seuraava on meille tärkeää: elektroniset laitteet pystyivät erottamaan tietyn saapuvien signaalien sarjan. Tietysti ehdollista yhdistelmää voidaan kuvata näin: "on signaali"; "ei signaalia"; "on signaali"; "on signaali." Voit jopa yksinkertaistaa merkintää: "on"; "Ei"; "on"; "on".

Mutta on paljon helpompi osoittaa signaalin olemassaolo yksiköllä "1" ja sen puuttuminen nollalla "0". Sitten kaiken tämän sijasta voimme käyttää yksinkertaista ja tiivistä binäärikoodia: 1011.

Tietenkin prosessoritekniikka on edennyt pitkälle, ja nyt sirut pystyvät havaitsemaan signaalisarjan lisäksi kokonaisia ​​ohjelmia, jotka on kirjoitettu tietyillä yksittäisistä merkeistä koostuvilla komennoilla. Mutta niiden tallentamiseen käytetään samaa binaarikoodia, joka koostuu nollista ja ykkösistä, mikä vastaa signaalin olemassaoloa tai puuttumista. Onko hän olemassa tai ei, sillä ei ole väliä. Sirulle mikä tahansa näistä vaihtoehdoista on yksittäinen tieto, jota kutsutaan "bitiksi" (bitti on virallinen mittayksikkö).

Perinteisesti merkki voidaan koodata useiden merkkien sarjalla. Kaksi signaalia (tai niiden puuttuminen) voivat kuvata vain neljää vaihtoehtoa: 00; 01;10; 11. Tätä koodausmenetelmää kutsutaan kaksibittiseksi. Mutta se voi olla myös:

  • nelibittinen (kuten yllä olevan kappaleen esimerkissä 1011) mahdollistaa 2 ^ 4 = 16 merkkiyhdistelmien kirjoittamisen;
  • kahdeksan bittiä (esimerkiksi: 0101 0011; 0111 0001). Kerran se oli ohjelmoinnissa eniten kiinnostava, koska se kattoi 2^8 = 256 arvoa. Tämä mahdollisti kaikkien desimaalilukujen, latinalaisten aakkosten ja erikoismerkkien kuvaamisen;
  • kuusitoista-bittinen (1100 1001 0110 1010) tai suurempi. Mutta näin pitkät levyt ovat jo nykyaikaisia, monimutkaisempia tehtäviä varten. Nykyaikaiset prosessorit käyttävät 32- ja 64-bittisiä arkkitehtuureja;

Ollakseni rehellinen, ei ole olemassa yhtä virallista versiota, sattui niin, että kahdeksan merkin yhdistelmästä tuli tallennettujen tietojen vakiomitta, jota kutsutaan "tavuiksi". Tämä voi koskea jopa yhtä kirjainta, joka on kirjoitettu 8-bittisessä binäärikoodissa. Joten, rakkaat ystäväni, muistakaa (jos joku ei tiennyt):

8 bittiä = 1 tavu.

Joten hyväksytty. Vaikka 2- tai 32-bittisenä arvona kirjoitettua merkkiä voidaan nimellisesti kutsua myös tavuksi. Muuten, binaarikoodin ansiosta voimme arvioida tiedostojen määrän tavuina mitattuna sekä tiedonsiirron ja Internetin nopeuden (bittiä sekunnissa).

Binäärinen koodaus toiminnassa

Tietojen tallennuksen standardoimiseksi tietokoneita varten on kehitetty useita koodausjärjestelmiä, joista yksi on 8-bittiseen tallennukseen perustuva ASCII, joka on yleistynyt. Sen arvot jaetaan erityisellä tavalla:

  • ensimmäiset 31 merkkiä ovat ohjausmerkkejä (00000000 - 00011111). Tarjoaa huoltokomentoja, tulostusta tulostimelle tai näytölle, äänisignaaleja, tekstin muotoilua;
  • seuraavat 32-127 (00100000 - 01111111) latinalaiset aakkoset ja apusymbolit ja välimerkit;
  • loput, 255. asti (10000000 - 11111111) - vaihtoehto, osa taulukosta erityistehtäviä ja kansallisten aakkosten näyttämistä varten;

Siinä olevien arvojen tulkinta on esitetty taulukossa.

Jos luulet, että "0" ja "1" sijaitsevat kaoottisessa järjestyksessä, olet syvästi väärässä. Käyttäen mitä tahansa numeroa esimerkkinä, näytän sinulle kuvion ja opetan sinulle kuinka lukea binäärikoodilla kirjoitettuja numeroita. Mutta tätä varten hyväksymme joitain ehtoja:

  • 8 merkin tavu luetaan oikealta vasemmalle;
  • jos tavallisissa luvuissa käytämme ykkösten, kymmenien, satojen numeroita, niin tässä (luettaessa käänteisessä järjestyksessä) jokaiselle bitille esitetään eri potenssit "kaksi": 256-124-64-32-16-8-4- 2-1;
  • nyt tarkastellaan luvun binäärikoodia, esimerkiksi 00011011. Jos vastaavassa paikassa on "1"-signaali, otamme tämän bitin arvot ja summaamme ne tavalliseen tapaan. Vastaavasti: 0+0+0+32+16+0+2+1 = 51. Oikein tätä menetelmää voit varmistaa katsomalla kooditaulukkoa.

Nyt, utelias ystäväni, te ette vain tiedä mitä binäärikoodi on, vaan tiedätte myös kuinka muuntaa sen salaama tieto.

Nykytekniikan ymmärtämä kieli

Tietenkin prosessorilaitteiden binaarikoodin lukemisen algoritmi on paljon monimutkaisempi. Mutta sen avulla voit kirjoittaa mitä haluat:

  • tekstitiedot muotoiluvaihtoehdoilla;
  • numerot ja niiden kanssa tehtävät toiminnot;
  • graafiset ja videokuvat;
  • äänet, mukaan lukien ne, jotka ylittävät kuulomme;

Lisäksi "esityksen" yksinkertaisuuden vuoksi se on mahdollista eri tavoilla binääritietojen tallennus: HDD-levyt;

Binäärikoodauksen etuja täydentävällä tavalla on lähes rajattomat mahdollisuudet siirtää tietoa minkä tahansa etäisyyden päähän. Tämä on viestintämenetelmä, jota käytetään avaruusaluksia ja keinotekoiset satelliitit.

Joten nykyään binäärijärjestelmä on kieli, jota suurin osa käyttämistämme elektronisista laitteista ymmärtää. Ja mikä mielenkiintoisinta, hänelle ei ole vielä suunniteltu muuta vaihtoehtoa.

Uskon, että antamani tiedot riittävät aloittamiseen. Ja sitten, jos sellainen tarve ilmenee, kaikki voivat syventyä itsenäinen opiskelu Tämä aihe. Sanon hyvästit ja lyhyen tauon jälkeen valmistaudun sinua varten uusi artikkeli blogini, jostain mielenkiintoisesta aiheesta.

Parempi jos kerrot itse ;)

Nähdään pian.

binäärikoodi- Tämä on tiedon esitys kahden merkin yhdistelmänä 1 tai 0, kuten ohjelmoinnissa sanotaan, kyllä ​​tai ei, tosi tai epätosi, tosi tai epätosi. Tavallisen ihmisen on vaikea ymmärtää, kuinka tietoa voidaan esittää nollien ja ykkösten muodossa. Yritän hieman selventää tätä tilannetta.

Itse asiassa binäärikoodi on helppoa! Esimerkiksi mikä tahansa aakkosten kirjain voidaan esittää nollien ja ykkösten joukkona. Esimerkiksi kirje H Latinalainen aakkoset tulee olemaan tämä lomake binäärijärjestelmässä - 01001000, kirjain E– 01000101, pyökki L sillä on seuraava binääriesitys - 01001100, P – 01010000.

Nyt ei ole vaikea arvata, että englanninkielisen sanan HELP kirjoittamiseksi konekielellä sinun on käytettävä seuraavaa binäärikoodia:

01001000 01000101 01001100 01010000

Tätä koodia kotitietokoneemme käyttää työssään. Tavalliselle ihmiselle tällaista koodia on erittäin vaikea lukea, mutta tietokoneille se on ymmärrettävin.

Binäärikoodi (konekoodi) nykyään sitä käytetään ohjelmoinnissa, koska tietokone toimii tarkasti binäärikoodin ansiosta. Mutta älä ajattele, että ohjelmointiprosessi pelkistyy ykkösten ja nollien joukkoon. Erityisesti ihmisen ja tietokoneen välisen ymmärtämisen yksinkertaistamiseksi keksittiin ohjelmointikielet (C++, BASIC jne.). Ohjelmoija kirjoittaa ohjelman ymmärtämällään kielellä ja kääntää sitten luomuksensa erityisen kääntäjäohjelman avulla konekoodiksi, joka käynnistää tietokoneen.

Muunnamme desimaalilukujärjestelmän luonnollisen luvun binääriluvuksi

Otamme halutun luvun, minulle se on 5, jaa numero kahdella:
5: 2 = 2,5 on jäljellä, joten binäärikoodin ensimmäinen numero on 1 (jos ei - 0 ). Heitä loput pois ja jaa luku uudelleen 2 :
2: 2 = 1 vastaus on ilman jäännöstä, mikä tarkoittaa, että binäärikoodin toinen numero on - 0. Jaa tulos jälleen kahdella:
1: 2 = 0.5 numerosta selvisi jäännös, niin kirjoitamme 1 .
No, koska tulos on 0 ei voi enää jakaa, binäärikoodi on valmis ja tuloksena saimme binäärikoodin numeron 101 . Luulen, että olemme oppineet kääntämään desimaalista binääriin, nyt opimme tekemään päinvastoin.

Luvun muuntaminen binääriluvusta desimaaliluvuksi

Tässäkin se on melko yksinkertaista, numeroidaan binäärinumeromme kanssasi, sinun on aloitettava nollasta luvun lopusta.

101 on 1^2 0^1 1^0.

Mitä siitä tuli? Petimme asteet numeroiksi! nyt kaavan mukaan:

(x * 2^y) + (x * 2^y) + (x * 2^y)

missä x- binäärikoodin järjestysnumero
y- tämän luvun aste.
Kaava laajenee numerosi koosta riippuen.
Saamme:

(1 * 2^2) + (0 * 2^1) + (1 * 2^0) = 4 + 0 + 1 = 5.

Binäärilukujärjestelmän historia

Ensimmäistä kertaa binäärijärjestelmää ehdotti Leibitz, hän uskoi niin tämä järjestelmä auttaa monimutkaisissa matemaattisissa laskelmissa ja yleensä hyödyttää tiedettä. Mutta joidenkin raporttien mukaan ennen kuin Leibitz ehdotti binäärilukujärjestelmää Kiinassa, seinälle ilmestyi kirjoitus, joka voitiin tulkita binäärikoodilla. Tähän kirjoitukseen piirrettiin pitkät ja lyhyet tikut, ja jos oletetaan, että pitkä on 1 ja lyhyt on 0, on täysin mahdollista, että Kiinassa ajatus binäärikoodista meni monta vuotta ennen sen keksimistä. Vaikka seinältä löytyneen koodin purkaminen paljasti yksinkertaisen luonnollinen luku mutta tosiasia pysyy silti.

Binäärikoodi on tekstiä, tietokoneen suorittimen ohjeita tai muuta dataa, jossa käytetään mitä tahansa kaksimerkkistä järjestelmää. Useimmiten tämä on 0:n ja 1:n järjestelmä, joka määrittää jokaiselle merkille ja käskylle binäärinumeroiden (bittien) kuvion. Esimerkiksi kahdeksan bitin binäärimerkkijono voi edustaa mitä tahansa 256 mahdollisesta arvosta ja voi siksi luoda joukon erilaisia ​​elementtejä. Maailman ohjelmoijien ammattiyhteisön binäärikoodin arviot osoittavat, että tämä on ammatin perusta ja päälaki toiminta tietokonejärjestelmät ja elektroniset laitteet.

Binaarikoodin salauksen purku

Tietojenkäsittelyssä ja tietoliikenteessä binäärikoodeja käytetään erilaisiin menetelmiin datamerkkien koodaamiseksi bittijonoiksi. Näissä menetelmissä voidaan käyttää kiinteitä tai muuttuvan levyisiä merkkijonoja. Binäärikoodiksi muuntamista varten on olemassa monia merkkejä ja koodauksia. Kiinteäleveisessä koodissa jokainen kirjain, numero tai muu merkki esitetään samanpituisella bittijonolla. Tämä binäärilukuna tulkittu bittijono näytetään yleensä kooditaulukoissa oktaali-, desimaali- tai heksadesimaalimuodossa.

Binäärisalauksen purku: Binäärilukuksi tulkittu bittijono voidaan muuntaa desimaaliluvuksi. Esimerkiksi pieni a-kirjain, jos sitä edustaa bittijono 01100001 (kuten tavallisessa ASCII-koodissa), voidaan esittää myös desimaalilukuna 97. Binäärin muuntaminen tekstiksi on sama toimenpide, vain päinvastoin.

Kuinka se toimii

Mistä binäärikoodi koostuu? Digitaalisissa tietokoneissa käytetty koodi perustuu siihen, että tilaa on vain kaksi: päällä. ja pois päältä, yleensä nolla ja yksi. Kun desimaalijärjestelmässä, jossa on 10 numeroa, jokainen paikka on 10:n kerrannainen (100, 1000 jne.), binäärijärjestelmässä jokainen digitaalinen paikka on 2:n kerrannainen (4, 8, 16 jne.). ). Binäärikoodisignaali on sarja sähköisiä impulsseja, jotka edustavat numeroita, symboleja ja suoritettavia toimintoja.

Laite, jota kutsutaan kelloksi, lähettää säännöllisiä pulsseja, ja komponentit, kuten transistorit, kytkeytyvät päälle (1) tai sammuvat (0) lähettääkseen tai estääkseen pulsseja. Binäärimuodossa jokaista desimaalilukua (0-9) edustaa neljän binäärinumeron tai bitin joukko. Neljä aritmeettista perusoperaatiota (yhteen-, vähennys-, kerto- ja jakolasku) voidaan pelkistää binäärilukujen Boolen algebrallisten perusoperaatioiden yhdistelmiksi.

Bitti viestintä- ja informaatioteoriassa on datayksikkö, joka vastaa tulosta, kun valitaan kahden mahdollisen vaihtoehdon välillä digitaalisissa tietokoneissa yleisesti käytetyssä binäärilukujärjestelmässä.

Binaarikoodin arvostelut

Koodin ja datan luonne on olennainen osa IT:n perusmaailmaa. Tällä työkalulla työskentelevät maailman IT:n "kulissien takana" asiantuntijat - ohjelmoijat, joiden erikoistuminen on piilotettu tavallisen käyttäjän huomiolta. Kehittäjiltä saatu palaute binäärikoodista osoittaa, että tämä alue vaatii syvällistä matemaattisten perusteiden tutkimista ja paljon harjoittelua matemaattisen analyysin ja ohjelmoinnin alalla.

Binäärikoodi on yksinkertaisin muoto tietokonekoodi tai ohjelmointitiedot. Sitä edustaa täysin binäärilukujärjestelmä. Binäärikoodin arvostelujen mukaan se yhdistetään usein konekoodiin, koska binäärijoukkoja voidaan yhdistää muodostamaan lähdekoodi, jonka tietokone tai muu laitteisto tulkitsee. Tämä on osittain totta. käyttää binäärilukujoukkoja ohjeiden muodostamiseen.

Yhdessä koodin perusmuodon kanssa binääri edustaa myös pienintä datamäärää, joka virtaa kaikkien monimutkaisten monimutkaisten laitteisto- ja ohjelmistojärjestelmien läpi, jotka käsittelevät nykypäivän tietoresursseja ja -resursseja. Pienintä datamäärää kutsutaan bitiksi. Nykyisistä bittijonoista tulee koodia tai dataa, jonka tietokone tulkitsee.

binääriluku

Matematiikassa ja digitaalielektroniikassa binääriluku on luku, joka ilmaistaan ​​perus-2-lukujärjestelmässä tai binäärilukujärjestelmässä, jossa on vain kaksi merkkiä: 0 (nolla) ja 1 (yksi).

Perus-2-lukujärjestelmä on paikkamerkintä, jonka säde on 2. Jokaista numeroa kutsutaan bitiksi. Yksinkertaisen toteutuksensa vuoksi logiikkasääntöjä käyttävissä digitaalisissa elektronisissa piireissä binäärijärjestelmää käyttävät lähes kaikki nykyaikaiset tietokoneet ja elektroniset laitteet.

Tarina

Nykyaikaisen binäärilukujärjestelmän binäärikoodin perustana keksi Gottfried Leibniz vuonna 1679, ja se esiteltiin artikkelissaan "Binary Arithmetic Explained". Binäärinumerot olivat keskeisiä Leibnizin teologiassa. Hän uskoi, että binääriluvut symboloivat kristillistä ajatusta luovuudesta ex nihilo eli tyhjästä luomisesta. Leibniz yritti löytää järjestelmän, joka muuttaisi logiikan sanalliset lausunnot puhtaasti matemaattisiksi tiedoiksi.

Myös Leibniziä edeltäneet binaarijärjestelmät olivat olemassa muinainen maailma. Esimerkkinä on kiinalainen binäärijärjestelmä I Ching, jossa ennustamisen teksti perustuu yinin ja yangin kaksinaisuuteen. Aasiassa ja Afrikassa viestien koodaamiseen käytettiin binääriääniä sisältäviä rumpuja. Intialainen tutkija Pingala (noin 5. vuosisadalla eKr.) kehitti binäärijärjestelmän prosodian kuvaamiseksi teoksessaan Chandashutrema.

Ranskan Polynesian Mangarevan saaren asukkaat käyttivät hybridi-binääri-desimaalijärjestelmää vuoteen 1450 asti. Tiedemies ja filosofi Shao Yong kehitti 1000-luvulla menetelmän heksagrammien järjestämiseksi, joka vastaa sekvenssiä 0-63, joka on esitetty binäärimuodossa, jossa yin on 0 ja yang on 1. Järjestys on myös leksikografinen järjestys. kahden elementin joukosta valittujen elementtien lohkot.

uusi aika

Vuonna 1605 hän keskusteli järjestelmästä, jossa aakkosten kirjaimet voitaisiin pelkistää binäärinumeroiden sarjoiksi, jotka voitaisiin sitten koodata hienovaraisiksi fonttivariaatioiksi missä tahansa satunnaisessa tekstissä. On tärkeää huomata, että Francis Bacon täydensi yleistä binäärikoodauksen teoriaa havainnolla, että tätä menetelmää voidaan käyttää minkä tahansa objektin kanssa.

Toinen matemaatikko ja filosofi nimeltä George Boole julkaisi vuonna 1847 artikkelin "The Mathematical Analysis of Logic", joka kuvaa logiikkaalgebrallista järjestelmää, joka tunnetaan nykyään Boolen algebrana. Järjestelmä perustui binääriseen lähestymistapaan, joka koostui kolmesta perusoperaatiosta: AND, OR ja NOT. Tätä järjestelmää ei otettu käyttöön ennen kuin MIT:n jatko-opiskelija nimeltä Claude Shannon huomasi, että hänen oppimansa Boolen algebra oli kuin sähköpiiri.

Shannon kirjoitti vuonna 1937 väitöskirjan, joka teki tärkeitä johtopäätöksiä. Shannonin opinnäytetyöstä tuli lähtökohta binäärikoodin käytölle käytännön sovelluksissa, kuten tietokoneissa ja sähköpiireissä.

Muut binäärikoodin muodot

Bittimerkkijono ei ole ainoa binäärikoodin tyyppi. Binäärijärjestelmä on yleensä mikä tahansa järjestelmä, joka sallii vain kaksi vaihtoehtoa, kuten kytkin elektronisessa järjestelmässä tai yksinkertainen tosi tai epätosi testi.

Pistekirjoitus on eräänlainen binäärikoodi, jota sokeat käyttävät laajalti lukemiseen ja kirjoittamiseen koskettamalla, ja se on nimetty sen luojan Louis Braillen mukaan. Tämä järjestelmä koostuu ruudukoista, joissa kussakin on kuusi pistettä, kolme saraketta kohti, ja jokaisella pisteellä on kaksi tilaa: kohotettu tai upotettu. Erilaiset pisteiden yhdistelmät pystyvät edustamaan kaikkia kirjaimia, numeroita ja välimerkkejä.

American Standard Code for Information Interchange (ASCII) käyttää 7-bittistä binaarikoodia edustamaan tekstiä ja muita merkkejä tietokoneissa, viestintälaitteissa ja muissa laitteissa. Jokaiselle kirjaimelle tai symbolille on määritetty numero 0-127.

Binaarikoodattu desimaali tai BCD on binäärikoodattu kokonaislukuarvojen esitys, joka käyttää 4-bittistä kuvaajaa desimaalilukujen koodaamiseen. Neljä binaaribittiä voivat koodata jopa 16 eri arvoa.

BCD-koodatuissa numeroissa vain kymmenen ensimmäistä arvoa kussakin näppäimessä ovat kelvollisia ja ne koodaavat desimaalilukuja nollasta yhdeksään. Loput kuusi arvoa ovat virheellisiä ja voivat aiheuttaa joko konepoikkeuksen tai määrittelemättömän toiminnan, riippuen tietokoneen BCD-aritmetiikkaa toteutuksesta.

BCD-aritmetiikkaa suositaan joskus liukulukumuotojen sijaan kaupallisissa ja taloudellisissa sovelluksissa, joissa kompleksilukujen pyöristyskäyttäytyminen ei ole toivottavaa.

Sovellus

Useimmat nykyaikaiset tietokoneet käyttävät ohjeiden ja tietojen binäärikoodiohjelmaa. CD-, DVD- ja Blu-ray-levyt edustavat ääntä ja videota binäärimuodossa. Puhelinsoitot kuljetetaan digitaalisessa muodossa pulssikoodimodulaatiota käyttävissä kauko- ja matkapuhelinverkoissa sekä Voice over IP -verkoissa.

Tekstin kirjoittamiseen käytettyä symbolijoukkoa kutsutaan aakkosjärjestyksessä.

Aakkosten merkkien määrä on tehoa.

Kaava tiedon määrän määrittämiseksi: N = 2b,

missä N on aakkosten kardinaalisuus (symbolien lukumäärä),

b on bittien lukumäärä (symbolin informaatiopaino).

Lähes kaikki tarvittavat merkit voidaan sijoittaa aakkosiin, joiden kapasiteetti on 256 merkkiä. Tätä aakkosta kutsutaan riittävä.

Koska 256 = 2 8 , silloin 1 merkin paino on 8 bittiä.

8-bittiselle mittayksikölle on annettu nimi 1 tavu:

1 tavu = 8 bittiä.

Tietokonetekstin jokaisen merkin binäärikoodi vie 1 tavun muistia.

Miten tekstitieto esitetään tietokoneen muistissa?

Merkkien tavu-tavuisen koodauksen mukavuus on ilmeinen, koska tavu on muistin pienin osoitettavissa oleva osa ja siksi prosessori voi käyttää jokaista merkkiä erikseen suorittaessaan tekstinkäsittelyä. Toisaalta 256 merkkiä riittää edustamaan monenlaista hahmotietoa.

Nyt herää kysymys, mikä kahdeksan bitin binaarikoodi laittaa vastaamaan jokaista merkkiä.

On selvää, että tämä on ehdollinen asia, voit keksiä monia tapoja koodata.

Kaikki tietokoneen aakkosten merkit on numeroitu välillä 0 - 255. Jokainen numero vastaa kahdeksan bitin binäärikoodia 00000000 - 11111111. Tämä koodi on yksinkertaisesti merkin järjestysnumero binäärilukujärjestelmässä.

Taulukkoa, jossa kaikille tietokoneen aakkosten merkeille on määritetty sarjanumerot, kutsutaan koodaustaulukoksi.

varten erilaisia ​​tyyppejä Tietokone käyttää erilaisia ​​koodaustaulukoita.

Taulukosta on tullut PC-tietokoneiden kansainvälinen standardi. ASCII(lausutaan asci) (American Standard Code for Information Interchange).

ASCII-kooditaulukko on jaettu kahteen osaan.

Vain taulukon ensimmäinen puolisko on kansainvälinen standardi, ts. merkkejä numeroilla alkaen 0 (00000000), enintään 127 (01111111).

ASCII-koodaustaulukon rakenne

Sarjanumero

Koodi

Symboli

0 - 31

00000000 - 00011111

Merkkejä, joiden numerot ovat 0-31, kutsutaan ohjausmerkeiksi.
Niiden tehtävänä on ohjata tekstin näyttämistä näytöllä tai tulostusta, arkistointia äänimerkki, tekstimerkinnät jne.

32 - 127

00100000 - 01111111

Pöydän vakioosa (englanniksi). Tämä sisältää latinalaisten aakkosten pienet ja isot kirjaimet, desimaalinumerot, välimerkit, kaikenlaiset hakasulut, kaupalliset ja muut symbolit.
Merkki 32 on välilyönti, ts. tyhjä paikka tekstissä.
Kaikki muu heijastuu tietyillä merkeillä.

128 - 255

10000000 - 11111111

Taulukon vaihtoehtoinen osa (venäjä).
ASCII-kooditaulukon toisella puoliskolla, jota kutsutaan koodisivuksi (128 koodia alkaen 10000000 ja päättyen numeroon 11111111), voi olla erilaisia ​​vaihtoehtoja, jokaisella vaihtoehdolla on oma numeronsa.
Koodisivua käytetään ensisijaisesti muiden kansallisten kirjoitusten kuin latinan kirjoittamiseen. Venäjän kansallisissa koodauksissa venäläisten aakkosten merkit sijoitetaan tähän taulukon osaan.

ASCII-kooditaulukon ensimmäinen puolisko


Kiinnitän huomionne siihen, että koodaustaulukossa kirjaimet (isot ja pienet) on järjestetty aakkosjärjestykseen ja numerot nousevaan arvojen järjestykseen. Tätä leksikografisen järjestyksen noudattamista merkkien järjestelyssä kutsutaan aakkosten peräkkäisen koodauksen periaatteeksi.

Venäjän aakkosten kirjaimissa noudatetaan myös peräkkäisen koodauksen periaatetta.

ASCII-kooditaulukon toinen puolisko


Valitettavasti tällä hetkellä on olemassa viisi erilaista kyrillistä koodausta (KOI8-R, Windows. MS-DOS, Macintosh ja ISO). Tästä syystä venäjänkielisen tekstin siirtämisessä tietokoneelta toiselle, ohjelmistojärjestelmästä toiseen syntyy usein ongelmia.

Kronologisesti yksi ensimmäisistä standardeista venäläisten kirjainten koodaukseen tietokoneissa oli KOI8 ("Information Exchange Code, 8-bit"). Tätä koodausta käytettiin jo 70-luvulla ES EVM -sarjan tietokoneissa, ja 80-luvun puolivälistä lähtien sitä alettiin käyttää ensimmäisissä venäläistetyissä versioissa. käyttöjärjestelmä UNIX.

90-luvun alusta, MS DOS -käyttöjärjestelmän dominanssiajasta, koodaus on pysynyt CP866:na ("CP" tarkoittaa "koodisivua", "koodisivua").

Apple-tietokoneet, joissa on Mac OS -käyttöjärjestelmä, käyttävät omaa Mac-koodausta.

Lisäksi Kansainvälinen standardointijärjestö (International Standards Organization, ISO) hyväksyi venäjän kielen standardiksi toisen koodauksen nimeltä ISO 8859-5.

Yleisin tällä hetkellä käytetty koodaus on Microsoft Windows, lyhenne CP1251.

90-luvun lopusta lähtien merkkikoodauksen standardointiongelma on ratkaistu ottamalla käyttöön uusi kansainvälinen standardi, jota kutsutaan Unicode. Tämä on 16-bittinen koodaus, ts. siinä on 2 tavua muistia per merkki. Tietenkin tässä tapauksessa varatun muistin määrä kasvaa 2 kertaa. Mutta tällainen kooditaulukko sallii jopa 65536 merkin sisällyttämisen. Unicode-standardin täydellinen spesifikaatio sisältää kaikki olemassa olevat, sukupuuttoon kuolleet ja keinotekoisesti luodut aakkoset maailmassa sekä monet matemaattiset, musiikilliset, kemialliset ja muut symbolit.

Yritetään käyttää ASCII-taulukkoa kuvitellaksesi, miltä sanat näyttävät tietokoneen muistissa.

Sanojen sisäinen esitys tietokoneen muistissa

Joskus käy niin, että toiselta tietokoneelta saatua venäläisten aakkosten kirjaimista koostuvaa tekstiä ei voida lukea - näytön näytöllä näkyy jonkinlainen "abrakadabra". Tämä johtuu siitä, että tietokoneet käyttävät erilaisia ​​venäjän kielen merkkikoodeja.

Samanlaisia ​​viestejä