Hvordan man tæller binær kode. Binær kode til tekst

For at automatisere arbejde med data, der tilhører forskellige typer, er det meget vigtigt at forene deres præsentationsform - til dette bruges teknikken normalt kodning, det vil sige at udtrykke data af én type i form af data af en anden type. Naturligt menneske sprog - de er intet andet end konceptkodningssystemer til at udtrykke tanker gennem tale. Tæt ved siden af ​​tunger ABC'er(systemer til kodning af sprogkomponenter ved hjælp af grafiske symboler). Historien kender interessante, omend mislykkede forsøg på at skabe "universelle" sprog og alfabeter. Tilsyneladende skyldes det mislykkede forsøg på at implementere dem, at nationale og sociale enheder naturligvis forstår, at en ændring af systemet til kodning af offentlige data helt sikkert vil føre til en ændring i sociale metoder (det vil sige juridiske og moralske normer), og dette kan være forbundet med sociale omvæltninger.

Det samme problem med et universelt kodningsværktøj bliver implementeret med stor succes i visse grene af teknologi, videnskab og kultur. Som eksempler kan nævnes et system til at skrive matematiske udtryk, et telegrafalfabet, et flådeflagalfabet, et blindeskriftsystem for blinde og meget mere.

Computerteknologi har også sit eget system - det hedder binær kodning og er baseret på at repræsentere data som en sekvens af kun to tegn: 0 og 1. Disse tegn kaldes binære cifre, på engelsk - binært ciffer eller kort sagt hit (bit).

En bit kan udtrykke to begreber: 0 eller 1 (Ja eller nej, sort eller hvid, sandt eller ligge og så videre.). Hvis antallet af bit øges til to, så kan fire forskellige begreber udtrykkes:

Tre bits kan kode otte forskellige værdier:

000 001 010 011 100 101 110 111

Ved at øge antallet af bits i det binære kodningssystem med én, fordobler vi antallet af værdier, der kan udtrykkes i dette system, det vil sige, at den generelle formel ser ud som:

Hvor N- antal uafhængige kodede værdier;

T - bitdybde af binær kodning, der er vedtaget i dette system.

Kodning af heltal og reelle tal

Heltal er kodet i binært ganske enkelt - tag blot et heltal og divider det i to, indtil kvotienten er lig med én. Sættet af rester fra hver division, skrevet fra højre mod venstre sammen med den sidste kvotient, danner den binære analog af decimaltallet.

Således 19= 10011;.

For at kode heltal fra 0 til 255 er det nok at have 8 bits binær kode (8 bits). Seksten bit giver dig mulighed for at kode heltal fra 0 til 65.535, og 24 bit giver dig mulighed for at kode mere end 16,5 millioner forskellige værdier.

For at kode reelle tal bruges 80-bit kodning. I dette tilfælde konverteres nummeret først til normaliseret form:

3,1415926 =0,31415926-10"

300 000 = 0,3 10 6

123 456 789 = 0,123456789 10 10

Den første del af nummeret kaldes mantisse, og den anden - egenskab. De fleste af de 80 bits er allokeret til at gemme mantissen (sammen med tegnet), og et bestemt fast antal bits er allokeret til at gemme karakteristikken (også fortegnet).

Kodning af tekstdata

Hvis hvert tegn i alfabetet er knyttet til et bestemt heltal (f.eks. et serienummer), kan tekstinformation også kodes ved hjælp af binær kode. Otte binære cifre er nok til at kode 256 forskellige tegn. Dette er nok til at udtrykke alle tegnene i det engelske og russiske sprog i forskellige kombinationer af otte bit, både små og store bogstaver, såvel som tegnsætningstegn, symboler for grundlæggende aritmetiske operationer og nogle almindeligt accepterede specialtegn, for eksempel symbolet "§ ”.

Teknisk ser det meget simpelt ud, men der har altid været ret betydelige organisatoriske vanskeligheder. I de tidlige år af udviklingen af ​​computerteknologi var de forbundet med manglen på nødvendige standarder, men i dag er de tværtimod forårsaget af overfloden af ​​samtidig eksisterende og modstridende standarder. For at hele verden kan kode tekstdata på samme måde, er der behov for ensartede kodningstabeller, og det er endnu ikke muligt på grund af modsætninger mellem tegnene i nationale alfabeter, såvel som virksomhedsmodsigelser.

For det engelske sprog, som de facto har fanget nichen i et internationalt kommunikationsmiddel, er modsætningerne allerede fjernet. US Standards Institute (ANSI - American National Standard Institute) indført et kodesystem ASCII (American Standard Code for Information Interchange - amerikansk standardkode for informationsudveksling). I system ASCII to kodningstabeller er faste - grundlæggende Og udvidet. Den grundlæggende tabel fastsætter kodeværdier fra 0 til 127, og den udvidede tabel henviser til tegn med tal fra 128 til 255.

De første 32 koder i basistabellen, begyndende med nul, gives til hardwareproducenter (primært computer- og printerproducenter). Dette område indeholder den såkaldte kontrolkoder, som ikke svarer til nogen sprogsymboler, og derfor vises disse koder hverken på skærmen eller på printere, men de kan styre, hvordan andre data udlæses.

Fra kode 32 til kode 127 er der koder for tegn i det engelske alfabet, tegnsætningstegn, tal, aritmetiske operationer og nogle hjælpetegn.

Lignende systemer til kodning af tekstdata er blevet udviklet i andre lande. For eksempel i USSR fungerede KOI-7-kodningssystemet i dette område (informationsudvekslingskode, syv cifre). Men støtte fra hardware- og softwareproducenter bragte den amerikanske kode ASCII til niveau med en international standard, og nationale kodningssystemer måtte "trække sig tilbage" til en anden, udvidet del af kodesystemet, der definerer betydningen af ​​koder fra 128 til 255. Manglen på en enkelt standard på dette område har ført til en mangfoldighed af samtidige indkodninger. Kun i Rusland er det muligt at angive tre aktuelle kodningsstandarder og to mere forældede.

For eksempel tegnkodningen af ​​det russiske sprog, kendt som kodningen Windows-1251, blev introduceret "udefra" - af Microsoft, men i betragtning af den udbredte distribution af operativsystemer og andre produkter fra dette firma i Rusland, var det dybt forankret og meget brugt. Denne kodning bruges på de fleste lokale computere, der kører på Windows-platformen.

En anden almindelig kodning kaldes KOI-8 (informationsudvekslingskode, otte cifre) - dets oprindelse går tilbage til tiden for Rådet for gensidig økonomisk bistand fra østeuropæiske stater. I dag er KOI-8-kodning meget brugt i computernetværk i Rusland og i den russiske del af internettet.

Den internationale standard, som sørger for kodning af tegn i det russiske alfabet, kaldes kodningen ISO (International Standard Organisation - International Institute for Standardization). I praksis bruges denne kodning sjældent.

På computere, der kører operativsystemer MS-DOS yderligere to kodninger kan være i kraft (encoding Gæster indkodning GOST-alternativ). Den første af dem blev betragtet som forældet selv i de tidlige år af fremkomsten af ​​personlig computer, men den anden bruges stadig den dag i dag.

På grund af overfloden af ​​tekstdatakodningssystemer, der opererer i Rusland, opstår problemet med intersystem-datakonvertering - dette er et af de almindelige problemer inden for datalogi.

Universelt tekstdatakodningssystem

Hvis vi analyserer de organisatoriske vanskeligheder forbundet med oprettelsen af ​​et samlet system til kodning af tekstdata, kan vi komme til den konklusion, at de er forårsaget af et begrænset sæt koder (256). Samtidig er det indlysende, at hvis du for eksempel koder symboler ikke med otte-bit binære tal, men med tal med et stort antal bits, så vil rækken af ​​mulige kodeværdier blive meget større. Dette system, baseret på 16-bit tegnkodning, kaldes universel - UNICODE. Seksten cifre gør det muligt at give unikke koder for 65.536 forskellige tegn - dette felt er nok til at rumme de fleste sprog på planeten i en tabel med tegn.

På trods af den trivielle selvfølgelighed af denne tilgang, blev en simpel mekanisk overgang til dette system hæmmet i lang tid på grund af utilstrækkelige computerressourcer (i kodningssystemet UNICODE alle tekstdokumenter bliver automatisk dobbelt så lange). I anden halvdel af 90'erne nåede tekniske midler det nødvendige niveau af ressourcetilførsel, og i dag ser vi en gradvis overførsel af dokumenter og software til et universelt kodningssystem. For individuelle brugere tilføjede dette endnu flere bekymringer vedrørende koordineringen af ​​dokumenter lavet i forskellige kodesystemer med software, men dette skal forstås som vanskeligheder i overgangsperioden.

Grafisk datakodning

Hvis man ser på et sort/hvidt grafisk billede trykt i en avis eller bog med et forstørrelsesglas, kan man se, at det består af bittesmå prikker, der danner et karakteristisk mønster kaldet raster(Fig. 1).

Ris. 1. Raster er en metode til kodning af grafisk information, som længe har været accepteret i trykning

Da de lineære koordinater og individuelle egenskaber for hvert punkt (lysstyrke) kan udtrykkes ved hjælp af heltal, kan vi sige, at rasterkodning tillader brugen af ​​binær kode til at repræsentere grafiske data. Det er generelt accepteret i dag at repræsentere sort-hvide illustrationer som en kombination af prikker med 256 gråtoner, og derfor er et otte-bit binært tal normalt tilstrækkeligt til at kode lysstyrken af ​​enhver prik.

Bruges til kodning af farvegrafik nedbrydningsprincip tilfældige farver for hovedkomponenterne. Tre primærfarver bruges som sådanne komponenter: rød (Rød, R), grøn (Grøn, G) og blå (Blå, B). I praksis antages det (selv om dette teoretisk set ikke er helt sandt), at enhver farve, der er synlig for det menneskelige øje, kan opnås ved mekanisk at blande disse tre primære farver. Dette kodesystem kaldes et system RGB ved de første bogstaver i navnene på de primære farver.

Hvis der bruges 256 værdier (otte binære bit) til at kode lysstyrken af ​​hver af hovedkomponenterne, som det er sædvanligt for halvtone sort-hvide billeder, så skal der bruges 24 bit til at kode farven på et punkt. Samtidig giver kodesystemet en entydig identifikation af 16,5 millioner forskellige farver, hvilket faktisk er tæt på det menneskelige øjes følsomhed. Tilstanden til at repræsentere farvegrafik ved hjælp af 24 binære bit kaldes fuld farve (True Color).

Hver af de primære farver kan associeres med en ekstra farve, det vil sige en farve, der komplementerer den primære farve til hvid. Det er let at se, at komplementærfarven for enhver af primærfarverne vil være den farve, der dannes af summen af ​​parret af andre primærfarver. Følgelig er yderligere farver: blå (Cyan, S), lilla (Magenta, M) og gul ( Gul, Y). Princippet om at nedbryde en vilkårlig farve til dens bestanddele kan ikke kun anvendes på primærfarver, men også på yderligere farver, det vil sige, at enhver farve kan repræsenteres som summen af ​​cyan, magenta og gule komponenter. Denne metode til farvekodning er accepteret i udskrivning, men udskrivning bruger også en fjerde maling - sort (Sort, K). Derfor er dette kodesystem betegnet med fire bogstaver CMYK(sort farve er angivet med bogstavet TIL, fordi brevet I allerede optaget af blå), og for at repræsentere farvegrafik i dette system skal du have 32 binære bits. Denne tilstand kaldes også fuld farve. (True Color).

Hvis du reducerer antallet af binære bits, der bruges til at kode farven på hvert punkt, kan du reducere mængden af ​​data, men rækken af ​​kodede farver reduceres mærkbart. Kodning af farvegrafik med 16-bit binære tal kaldes en tilstand Høj farve.

Når farveinformation er kodet ved hjælp af otte databits, kan kun 256 farvenuancer overføres. Denne farvekodningsmetode kaldes indeks. Betydningen af ​​navnet er, at da 256 værdier er fuldstændig utilstrækkelige til at formidle hele rækken af ​​farver, der er tilgængelige for det menneskelige øje, udtrykker koden for hvert rasterpunkt ikke selve farven, men kun dens nummer (indeks) i en eller anden opslagstabel kaldet palet. Selvfølgelig skal denne palet knyttes til de grafiske data - uden det er det umuligt at bruge metoder til at gengive information på en skærm eller papir (det vil sige, du kan selvfølgelig bruge det, men på grund af ufuldstændigheden af ​​dataene , vil den modtagne information ikke være tilstrækkelig: løvet på træerne kan vise sig at være rødt, og himlen er grøn).

Kodning af lydinformation

Teknikker og metoder til at arbejde med lydinformation kom senest til computerteknologi. Derudover, i modsætning til numeriske, tekstmæssige og grafiske data, havde lydoptagelser ikke den samme lange og dokumenterede kodningshistorie. Som et resultat er metoder til kodning af lydinformation ved hjælp af binær kode langt fra standardisering. Mange individuelle virksomheder har udviklet deres egne virksomhedsstandarder, men generelt kan der skelnes mellem to hovedområder.

FM metode (Frekvensmodulering) er baseret på den kendsgerning, at enhver kompleks lyd teoretisk kan dekomponeres i en sekvens af simple harmoniske signaler af forskellige frekvenser, som hver repræsenterer en regulær sinusformet, og derfor kan beskrives ved numeriske parametre, det vil sige en kode. I naturen har lydsignaler et kontinuerligt spektrum, det vil sige, at de er analoge. Deres nedbrydning til harmoniske serier og repræsentation i form af diskrete digitale signaler udføres af specielle enheder - analog-til-digital konvertere (ADC'er). Den omvendte konvertering for at gengive numerisk kodet lyd udføres digital-til-analog-konvertere (DAC'er). Med sådanne transformationer er informationstab forbundet med indkodningsmetoden uundgåelige, så kvaliteten af ​​lydoptagelsen er normalt ikke helt tilfredsstillende og svarer til lydkvaliteten af ​​de enkleste elektriske musikinstrumenter med en farve, der er karakteristisk for elektronisk musik. Samtidig giver denne kodningsmetode en meget kompakt kode, og derfor fandt den anvendelse tilbage i de år, hvor computerressourcerne tydeligvis var utilstrækkelige.

Tabel-bølge metode ( Bølge-tabel) syntese svarer bedre til det nuværende niveau af teknologisk udvikling. For at sige det enkelt, kan vi sige, at der et sted i de forberedte tabeller er gemt prøver af lyde for mange forskellige musikinstrumenter (selvom ikke kun for dem). I teknologi kaldes sådanne prøver prøver. Numeriske koder udtrykker typen af ​​instrument, dets modelnummer, tonehøjde, varighed og intensitet af lyden, dynamikken i dens ændring, nogle parametre for det miljø, hvor lyden opstår, samt andre parametre, der karakteriserer lydens egenskaber. Da "rigtige" lyde bruges som samples, er kvaliteten af ​​lyden opnået som et resultat af syntese meget høj og nærmer sig lydkvaliteten af ​​rigtige musikinstrumenter.

Grundlæggende datastrukturer

At arbejde med store datasæt er nemmere at automatisere, når dataene bestilte, det vil sige, at de danner en given struktur. Der er tre hovedtyper af datastrukturer: lineær, hierarkisk Og tabelform. De kan overvejes at bruge eksemplet med en almindelig bog.

Hvis du skiller bogen ad i separate ark og blander dem sammen, mister bogen sit formål. Det vil stadig repræsentere et sæt data, men det er meget vanskeligt at vælge en passende metode til at udtrække information fra det. (Situationen bliver endnu værre, hvis du skærer hvert bogstav ud separat fra bogen - i dette tilfælde er det usandsynligt, at der overhovedet vil være en passende metode til at læse det.)

Hvis vi samler alle arkene i bogen i den rigtige rækkefølge, får vi den enkleste datastruktur - lineær. En sådan bog kan allerede læses, men for at finde de nødvendige data bliver du nødt til at læse den i en række, startende fra begyndelsen, hvilket ikke altid er praktisk.

For hurtigt at søge efter data er der hierarkisk struktur. Så for eksempel er bøger opdelt i dele, sektioner, kapitler, afsnit osv. Elementer af en struktur på lavere niveau indgår i elementer af en struktur på højere niveau: afsnit består af kapitler, kapitler af afsnit osv.

For store arrays er det meget lettere at søge efter data i en hierarkisk struktur end i en lineær, men selv her er det nødvendigt navigation, forbundet med behovet for at se. I praksis forenkles opgaven af, at de fleste bøger har et hjælpetværsnit bord, at forbinde elementer af en hierarkisk struktur med elementer af en lineær struktur, det vil sige at forbinde sektioner, kapitler og afsnit med sidetal. I bøger med en simpel hierarkisk struktur designet til sekventiel læsning kaldes denne tabel normalt indholdsfortegnelse, og i bøger med en kompleks struktur, der tillader selektiv læsning, kaldes det indhold.

Computere forstår ikke ord og tal, som folk gør. Moderne software giver slutbrugeren mulighed for at ignorere dette, men på de laveste niveauer fungerer din computer på et binært elektrisk signal, der har kun to stater: om der er strøm eller ej. For at "forstå" komplekse data skal din computer kode dem i binært format.

Det binære system er baseret på to cifre, 1 og 0, svarende til tænd og sluk-tilstande, som din computer kan forstå. Du er sikkert bekendt med decimalsystemet. Den bruger ti cifre, fra 0 til 9, og går derefter videre til den næste rækkefølge for at danne to-cifrede tal, hvor hvert tal er ti gange større end det foregående. Det binære system ligner hinanden, idet hvert ciffer er dobbelt så stort som det foregående.

Tælling i binært format

I binært udtryk svarer det første ciffer til 1 i decimalsystemet. Det andet ciffer er 2, det tredje er 4, det fjerde er 8, og så videre - fordobles hver gang. Tilføjelse af alle disse værdier vil give dig tallet i decimalformat.

1111 (i binær) = 8 + 4 + 2 + 1 = 15 (i decimal)

Regnskab for 0 giver os 16 mulige værdier for fire binære bit. Flyt 8 bit, og du får 256 mulige værdier. Dette tager meget mere plads at repræsentere, da fire decimaltal giver os 10.000 mulige værdier. Selvfølgelig fylder binær kode mere, men computere forstår binære filer meget bedre end decimalsystemet. Og for nogle ting, såsom logisk behandling, er binært bedre end decimal.

Det skal siges, at der er et andet grundlæggende system, der bruges til programmering: hexadecimal. Selvom computere ikke fungerer i hexadecimalt format, bruger programmører det til at repræsentere binære adresser i et menneskeligt læsbart format, når de skriver kode. Dette skyldes, at to cifre i et hexadecimalt tal kan repræsentere en hel byte, hvilket betyder, at de erstatter otte cifre i binært. Det hexadecimale system bruger tallene 0-9, samt bogstaverne A til F, til at skabe yderligere seks cifre.

Hvorfor bruger computere binære filer?

Kort svar: hardware og fysiks love. Hvert tegn i din computer er et elektrisk signal, og i de tidlige dage med computere var det meget vanskeligere at måle elektriske signaler. Det gav mere mening kun at skelne mellem "tændt"-tilstand, repræsenteret ved en negativ ladning, og "fra"-tilstand, repræsenteret ved en positiv ladning.

For dem, der ikke ved, hvorfor "fra" er repræsenteret ved en positiv ladning, er det fordi elektroner har en negativ ladning, og flere elektroner betyder mere strøm med en negativ ladning.

Således brugte tidlige rumstørrelse computere binære filer at skabe deres systemer, og selvom de brugte ældre, mere omfangsrigt udstyr, arbejdede de efter de samme grundlæggende principper. Moderne computere bruger det man kalder transistor at udføre beregninger med binær kode.

Her er et diagram over en typisk transistor:

I det væsentlige tillader det strøm at flyde fra kilden til drænet, hvis der er strøm i porten. Dette danner en binær nøgle. Producenter kan gøre disse transistorer utroligt små - ned til 5 nanometer eller på størrelse med to DNA-strenge. Sådan fungerer moderne processorer, og selv de kan lide af problemer med at skelne mellem tændte og slukkede tilstande (selvom dette skyldes, at deres urealistiske molekylstørrelse er underlagt kvantemekanikkens særhed).

Hvorfor kun binært system

Så du tænker måske, "Hvorfor kun 0 og 1? Hvorfor ikke tilføje endnu et tal? Selvom dette til dels skyldes traditionerne for at skabe computere, ville tilføjelse af endnu et ciffer samtidig betyde behovet for at skelne en anden tilstand af strømmen, ikke bare "slukket" eller "tændt".

Problemet her er, at hvis du vil bruge flere spændingsniveauer, har du brug for en måde, hvorpå du nemt kan udføre beregninger på dem, og den nuværende hardware, der er i stand til dette, er ikke levedygtig som erstatning for binære beregninger. For eksempel er der en såkaldt tredobbelt computer, udviklet i 1950'erne, men udviklingen stoppede der. Ternær logik mere effektiv end binær, men der er endnu ikke en effektiv erstatning for den binære transistor, eller i det mindste ingen transistor i samme lille skala som binær.

Grunden til, at vi ikke kan bruge ternær logik, kommer ned til, hvordan transistorer er forbundet i en computer, og hvordan de bruges til matematiske beregninger. Transistoren modtager information ved to indgange, udfører en operation og returnerer resultatet til én udgang.

Binær matematik er således lettere for en computer end noget andet. Binær logik konverteres nemt til binære systemer, hvor Sand og Falsk svarer til Til og Fra-tilstande.

En binær sandhedstabel, der kører på binær logik, vil have fire mulige output for hver grundlæggende operation. Men da tredobbelte porte bruger tre indgange, ville den tredobbelte sandhedstabell have 9 eller mere. Mens det binære system har 16 mulige operatorer (2^2^2), ville det ternære system have 19683 (3^3^3). Skalering bliver et problem, fordi mens trinity er mere effektiv, er den også eksponentielt mere kompleks.

Hvem ved? I fremtiden kan vi meget vel se ternære computere, da binær logik står over for miniaturiseringsproblemer. For nu vil verden fortsætte med at fungere i binær tilstand.

Binær kode repræsenterer tekst, computerprocessorinstruktioner eller andre data ved brug af et vilkårligt to-tegnssystem. Oftest er det et system med 0'er og 1'ere, der tildeler et mønster af binære cifre (bits) til hvert symbol og hver instruktion. For eksempel kan en binær streng på otte bit repræsentere enhver af 256 mulige værdier og kan derfor generere mange forskellige elementer. Anmeldelser af binær kode fra det globale professionelle fællesskab af programmører indikerer, at dette er grundlaget for erhvervet og hovedloven om computersystemers og elektroniske enheders funktion.

Dechifrering af den binære kode

Inden for databehandling og telekommunikation bruges binære koder til forskellige metoder til indkodning af datategn til bitstrenge. Disse metoder kan bruge strenge med fast bredde eller variabel bredde. Der er mange tegnsæt og kodninger til konvertering til binær kode. I kode med fast bredde er hvert bogstav, tal eller andet tegn repræsenteret af en bitstreng af samme længde. Denne bitstreng, fortolket som et binært tal, vises normalt i kodetabeller i oktal, decimal eller hexadecimal notation.

Binær afkodning: En bitstreng fortolket som et binært tal kan konverteres til et decimaltal. For eksempel kan det lille bogstav a, hvis det repræsenteres af bitstrengen 01100001 (som i standard ASCII-kode), også repræsenteres som decimaltallet 97. Konvertering af binær kode til tekst er den samme procedure, bare omvendt.

Hvordan det virker

Hvad består binær kode af? Koden, der bruges i digitale computere, er baseret på, hvor der kun er to mulige tilstande: på. og slukket, normalt angivet med nul og en. Mens i decimalsystemet, som bruger 10 cifre, er hver position et multiplum af 10 (100, 1000 osv.), i det binære system er hver cifferposition et multiplum af 2 (4, 8, 16 osv.) . Et binært kodesignal er en serie af elektriske impulser, der repræsenterer tal, symboler og operationer, der skal udføres.

En enhed kaldet et ur udsender regelmæssige impulser, og komponenter som transistorer tændes (1) eller slukkes (0) for at transmittere eller blokere impulserne. I binær kode er hvert decimaltal (0-9) repræsenteret af et sæt af fire binære cifre eller bits. De fire grundlæggende aritmetiske operationer (addition, subtraktion, multiplikation og division) kan reduceres til kombinationer af grundlæggende booleske algebraiske operationer på binære tal.

En smule i kommunikations- og informationsteori er en dataenhed svarende til resultatet af et valg mellem to mulige alternativer i det binære talsystem, der almindeligvis bruges i digitale computere.

Binær kode anmeldelser

Karakteren af ​​kode og data er en grundlæggende del af den grundlæggende IT-verden. Dette værktøj bruges af specialister fra den globale IT "bag kulisserne" - programmører, hvis specialisering er skjult for den gennemsnitlige brugers opmærksomhed. Anmeldelser af binær kode fra udviklere indikerer, at dette område kræver en dyb undersøgelse af matematiske fundamentaler og omfattende praksis inden for matematisk analyse og programmering.

Binær kode er den enkleste form for computerkode eller programmeringsdata. Det er fuldstændig repræsenteret af et binært ciffersystem. Ifølge anmeldelser af binær kode er det ofte forbundet med maskinkode, fordi binære sæt kan kombineres for at danne kildekode, der fortolkes af en computer eller anden hardware. Dette er til dels rigtigt. bruger sæt binære cifre til at danne instruktioner.

Sammen med den mest basale form for kode repræsenterer en binær fil også den mindste mængde data, der flyder gennem alle de komplekse, end-to-end hardware- og softwaresystemer, der behandler nutidens ressourcer og dataaktiver. Den mindste mængde data kaldes en bit. De aktuelle strenge af bit bliver til kode eller data, der fortolkes af computeren.

Binært tal

I matematik og digital elektronik er et binært tal et tal udtrykt i basis-2-talsystemet, eller binært numerisk system, som kun bruger to tegn: 0 (nul) og 1 (én).

Base-2 talsystemet er en positionsnotation med en radius på 2. Hvert ciffer omtales som en bit. På grund af dets enkle implementering i digitale elektroniske kredsløb ved hjælp af logiske regler, bruges det binære system af næsten alle moderne computere og elektroniske enheder.

Historie

Det moderne binære talsystem som grundlag for binær kode blev opfundet af Gottfried Leibniz i 1679 og præsenteret i hans artikel "Binary Arithmetic Explained". Binære tal var centrale i Leibniz' teologi. Han mente, at binære tal symboliserede den kristne idé om kreativitet ex nihilo, eller skabelse ud af ingenting. Leibniz forsøgte at finde et system, der ville transformere verbale logiske udsagn til rent matematiske data.

Binære systemer, der går forud for Leibniz, eksisterede også i den antikke verden. Et eksempel er det kinesiske binære system I Ching, hvor spådomsteksten er baseret på dualiteten af ​​yin og yang. I Asien og Afrika blev slidsetromler med binære toner brugt til at kode beskeder. Den indiske lærde Pingala (ca. 5. århundrede f.Kr.) udviklede et binært system til at beskrive prosodi i sit værk Chandashutrema.

Indbyggerne på øen Mangareva i Fransk Polynesien brugte et hybrid binært-decimalsystem indtil 1450. I det 11. århundrede udviklede videnskabsmanden og filosoffen Shao Yong en metode til at organisere hexagrammer, der svarer til rækkefølgen 0 til 63, som repræsenteret i et binært format, hvor yin er 0 og yang er 1. Rækkefølgen er også en leksikografisk rækkefølge i blokke af elementer valgt fra et sæt med to elementer.

Ny tid

I 1605 diskuterede et system, hvor bogstaverne i alfabetet kunne reduceres til sekvenser af binære cifre, som derefter kunne kodes som subtile varianter af typen i enhver tilfældig tekst. Det er vigtigt at bemærke, at det var Francis Bacon, der supplerede den generelle teori om binær kodning med den observation, at denne metode kan bruges med alle objekter.

En anden matematiker og filosof ved navn George Boole udgav et papir i 1847 kaldet "Mathematical Analysis of Logic", som beskrev det algebraiske logiske system kendt i dag som boolsk algebra. Systemet var baseret på en binær tilgang, som bestod af tre grundlæggende operationer: AND, OR og NOT. Dette system blev ikke operationelt, før en MIT kandidatstuderende ved navn Claude Shannon bemærkede, at den boolske algebra, han lærte, lignede et elektrisk kredsløb.

Shannon skrev en afhandling i 1937, der gjorde vigtige resultater. Shannons speciale blev udgangspunktet for brugen af ​​binær kode i praktiske applikationer som computere og elektriske kredsløb.

Andre former for binær kode

Bitstring er ikke den eneste type binær kode. Et binært system er generelt ethvert system, der kun tillader to muligheder, såsom en switch i et elektronisk system eller en simpel sand eller falsk test.

Braille er en type binær kode, der er meget brugt af blinde til at læse og skrive ved berøring, opkaldt efter dens skaber Louis Braille. Dette system består af gitter med seks punkter hver, tre per kolonne, hvor hvert punkt har to tilstande: hævet eller forsænket. Forskellige kombinationer af prikker kan repræsentere alle bogstaver, tal og tegnsætningstegn.

American Standard Code for Information Interchange (ASCII) bruger en 7-bit binær kode til at repræsentere tekst og andre tegn i computere, kommunikationsudstyr og andre enheder. Hvert bogstav eller symbol er tildelt et tal fra 0 til 127.

Binært kodet decimal eller BCD er en binærkodet repræsentation af heltalsværdier, der bruger en 4-bit graf til at kode decimaltal. Fire binære bit kan kode op til 16 forskellige værdier.

I BCD-kodede tal er kun de første ti værdier i hver nibble gyldige og koder decimalcifrene med nuller efter ni. De resterende seks værdier er ugyldige og kan forårsage enten en maskinundtagelse eller uspecificeret adfærd, afhængigt af computerens implementering af BCD-aritmetik.

BCD-aritmetik foretrækkes undertiden frem for flydende talformater i kommercielle og finansielle applikationer, hvor komplekse talafrundingsadfærd er uønsket.

Ansøgning

De fleste moderne computere bruger et binært kodeprogram til instruktioner og data. Cd'er, dvd'er og Blu-ray-diske repræsenterer lyd og video i binær form. Telefonopkald udføres digitalt i langdistance- og mobiltelefonnetværk ved hjælp af pulskodemodulation og i voice over IP-netværk.

Binær kode

Binær kode er en måde at repræsentere data på i ét ciffer som en kombination af to tegn, normalt betegnet med tallene 0 og 1. Cifferet i dette tilfælde kaldes et binært ciffer.
Hvis de er angivet med tallene "0" og "1", er de mulige tilstande for det binære ciffer udstyret med den kvalitative relation "1" > "0" og de kvantitative værdier af tallene "0" og "1".

Binær kode kan være ikke-positionel og positionel.

, [muligt stater(koder)], hvor:

Antallet af elementer i et givet sæt af forskellige elementer (antallet af mulige tilstande, tal, koder i et ciffer),
- antallet af elementer i sættet (antal cifre).
I det binære kodesystem (n=2) tallet mulige stater(koder) er lig med:

, [muligt stater(koder)], dvs.
, [muligt stater(koder)], hvor

Antal binære cifre (gård ov, lidt ov).
For eksempel, i en 8-bit byte (k=8) antallet af mulige stater(koder) er lig med:

, [muligt stater(koder)].

Hvornår positionskode, antal kombinationer (koder) n-bit binær kode er lig med antallet af placeringer med gentagelser:

, Hvor

Antallet af bits af den binære kode.

Ved at bruge to binære cifre kan du kode fire forskellige kombinationer: 00 01 10 11, tre binære cifre - otte: 000 001 010 011 100 101 110 111, og så videre.
Når bitdybden af ​​en positionsbinær kode øges med 1, fordobles antallet af forskellige kombinationer i den positionelle binære kode.

Binære koder er kombinationer af to elementer og er ikke et binært talsystem, men bruges som grundlag i det. Binær kode kan også bruges til at kode tal i talsystemer i enhver anden base. Eksempel: Binær kodet decimal (BCD) kodning bruger binær kode til at kode tal i decimaltalsystemet.
Ved indkodning af alfanumeriske tegn (tegn) tildeles den binære kode ikke vægte, som det gøres i talsystemer, hvor den binære kode bruges til at repræsentere tal, men kun serienummeret på koden fra et sæt af placeringer med gentagelser. Brugt.

I talsystemer n- bit binær kode, (n-1)- bit binær kode, (n-2)-bit binær kode osv. kan vise det samme tal. For eksempel er 0001, 001, 01, 1 det samme tal - "1" i binære koder med et andet antal cifre - n.

Binær kode tabel

numerisk (alfabetisk)

betyder

binær
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
EN 1010
B 1011
C 1100
D 1101
E 1110
F 1111

Et eksempel på "forhistorisk" brug af koder

Noter

se også


Wikimedia Foundation. 2010.

08. 06.2018

Blog af Dmitry Vassiyarov.

Binær kode - hvor og hvordan bruges den?

I dag er jeg især glad for at møde jer, mine kære læsere, fordi jeg føler mig som en lærer, der allerede i den første lektion begynder at introducere klassen for bogstaver og tal. Og da vi lever i en verden af ​​digital teknologi, vil jeg fortælle dig, hvad binær kode er, som er deres grundlag.

Lad os starte med terminologien og finde ud af, hvad binær betyder. For afklaring, lad os vende tilbage til vores sædvanlige beregning, som kaldes "decimal". Det vil sige, at vi bruger 10 cifre, som gør det muligt bekvemt at operere med forskellige numre og føre passende optegnelser.

Efter denne logik giver det binære system kun brug af to tegn. I vores tilfælde er disse kun "0" (nul) og "1" en. Og her vil jeg advare dig om, at der hypotetisk kunne være andre symboler i deres sted, men det er netop disse værdier, der indikerer fraværet (0, tomt) og tilstedeværelsen af ​​et signal (1 eller "pind"), der vil hjælpe vi forstår yderligere strukturen af ​​den binære kode.

Hvorfor er binær kode nødvendig?

Før fremkomsten af ​​computere blev der brugt forskellige automatiske systemer, hvis driftsprincip var baseret på modtagelse af et signal. Sensoren udløses, kredsløbet er lukket, og en bestemt enhed er tændt. Ingen strøm i signalkredsløbet - ingen drift. Det var elektroniske enheder, der gjorde det muligt at opnå fremskridt i behandlingen af ​​information repræsenteret ved tilstedeværelsen eller fraværet af spænding i et kredsløb.

Deres yderligere komplikation førte til fremkomsten af ​​de første processorer, som også gjorde deres arbejde, idet de behandlede et signal bestående af pulser, der vekslede på en bestemt måde. Vi vil ikke dykke ned i programdetaljerne nu, men følgende er vigtigt for os: elektroniske enheder viste sig at være i stand til at skelne en given sekvens af indgående signaler. Selvfølgelig er det muligt at beskrive den betingede kombination på denne måde: "der er et signal"; "intet signal"; "der er et signal"; "der er et signal." Du kan endda forenkle notationen: "der er"; "Ingen"; "Der er"; "Der er".

Men det er meget lettere at angive tilstedeværelsen af ​​et signal med en enhed "1" og dets fravær med nul "0". Så kan vi bruge en simpel og kortfattet binær kode i stedet: 1011.

Selvfølgelig er processorteknologien gået langt frem, og nu er chips i stand til at opfatte ikke bare en sekvens af signaler, men hele programmer skrevet med specifikke kommandoer bestående af individuelle tegn.

Men for at optage dem bruges den samme binære kode, bestående af nuller og enere, svarende til tilstedeværelsen eller fraværet af et signal. Om han eksisterer eller ej, det er lige meget. For en chip er enhver af disse muligheder et enkelt stykke information, som kaldes en "bit" (bit er den officielle måleenhed).

Konventionelt kan et symbol kodes som en sekvens af flere tegn. To signaler (eller deres fravær) kan kun beskrive fire muligheder: 00; 01;10; 11. Denne indkodningsmetode kaldes to-bit. Men det kan også være:

  • Fire-bit (som i eksemplet i afsnittet ovenfor 1011) giver dig mulighed for at skrive 2^4 = 16 symbolkombinationer;
  • Otte-bit (for eksempel: 0101 0011; 0111 0001). På et tidspunkt var det af størst interesse for programmering, fordi det dækkede 2^8 = 256 værdier. Dette gjorde det muligt at beskrive alle decimaltal, det latinske alfabet og specialtegn;
  • Seksten-bit (1100 1001 0110 1010) og højere. Men plader med en sådan længde er allerede til moderne, mere komplekse opgaver. Moderne processorer bruger 32 og 64-bit arkitektur;

Helt ærligt er der ingen enkelt officiel version, men det skete, at det var kombinationen af ​​otte tegn, der blev standardmålet for lagret information kaldet en "byte". Dette kunne anvendes selv på ét bogstav skrevet i 8-bit binær kode. Så, mine kære venner, husk venligst (hvis nogen ikke vidste det):

8 bit = 1 byte.

Det er sådan det er. Selvom et tegn skrevet med en 2 eller 32-bit værdi også kan kaldes en byte. Forresten, takket være binær kode kan vi estimere mængden af ​​filer målt i bytes og hastigheden af ​​information og internettransmission (bits per sekund).

Binær kodning i aktion

For at standardisere registreringen af ​​information til computere er der udviklet flere kodesystemer, hvoraf et, ASCII, baseret på 8-bit optagelse, er blevet udbredt. Værdierne i den er fordelt på en særlig måde:

  • de første 31 tegn er kontroltegn (fra 00000000 til 00011111). Server til servicekommandoer, output til en printer eller skærm, lydsignaler, tekstformatering;
  • følgende fra 32 til 127 (00100000 – 01111111) latinske alfabet og hjælpesymboler og tegnsætningstegn;
  • resten, op til den 255. (10000000 – 11111111) – alternativ, en del af tabellen for særlige opgaver og visning af nationale alfabeter;

Afkodningen af ​​værdierne i den er vist i tabellen.

Hvis du tror, ​​at "0" og "1" er placeret i en kaotisk rækkefølge, så tager du dybt fejl. Ved at bruge et hvilket som helst tal som eksempel, vil jeg vise dig et mønster og lære dig at læse tal skrevet i binær kode. Men for dette vil vi acceptere nogle konventioner:

  • Vi vil læse en byte på 8 tegn fra højre mod venstre;
  • Hvis vi i almindelige tal bruger cifrene af enere, tiere, hundreder, så er her (læst i omvendt rækkefølge) for hver bit forskellige potenser af "to" repræsenteret: 256-124-64-32-16-8- 4-2 -1;
  • Nu ser vi på nummerets binære kode, for eksempel 00011011. Hvor der er et "1" signal i den tilsvarende position, tager vi værdierne af denne bit og summerer dem op på den sædvanlige måde. Følgelig: 0+0+0+32+16+0+2+1 = 51. Du kan kontrollere rigtigheden af ​​denne metode ved at se på kodetabellen.

Nu, mine nysgerrige venner, ved I ikke kun, hvad binær kode er, men ved også, hvordan man konverterer informationen, der er krypteret af den.

Sprog, der er forståeligt for moderne teknologi

Selvfølgelig er algoritmen til at læse binær kode af processorenheder meget mere kompliceret. Men du kan bruge den til at skrive alt ned, du vil:

  • Tekstinformation med formateringsmuligheder;
  • numre og eventuelle operationer med dem;
  • Grafiske og videobilleder;
  • Lyde, inklusive lyde uden for vores høreområde;

På grund af "præsentationens enkelhed" er der desuden forskellige måder at registrere binær information på:

  • Ved at ændre magnetfeltet med ;
  • Fordelene ved binær kodning suppleres af næsten ubegrænsede muligheder for at transmittere information over enhver afstand. Dette er den kommunikationsmetode, der bruges med rumfartøjer og kunstige satellitter.

    Så i dag er det binære talsystem et sprog, der forstås af de fleste af de elektroniske enheder, vi bruger. Og det mest interessante er, at der ikke er forudset noget andet alternativ i øjeblikket.

    Jeg tror, ​​at den information, jeg har præsenteret, vil være ganske nok til, at du kan komme i gang. Og så, hvis et sådant behov opstår, vil alle være i stand til at dykke dybere ned i en uafhængig undersøgelse af dette emne.

    Jeg vil sige farvel, og efter en kort pause vil jeg forberede en ny artikel til dig på min blog om et interessant emne.

    Det er bedre, hvis du selv fortæller mig det ;)

    Vi ses snart.