Converteren naar binair. Kenmerken van binaire videocodering. Eenheden computerinformatie

Iedereen weet dat computers berekeningen kunnen uitvoeren in grote groepen gegevens met een enorme snelheid. Maar niet iedereen weet dat deze acties slechts van twee voorwaarden afhankelijk zijn: of er stroom is of niet en welke spanning.

Hoe slaagt een computer erin om zo’n verscheidenheid aan informatie te verwerken?
Het geheim schuilt in het binaire getalsysteem. Alle gegevens komen de computer binnen, gepresenteerd in de vorm van enen en nullen, die elk overeenkomen met één toestand van de elektrische draad: enen - hoge spanning, nullen - laag, of enen - de aanwezigheid van spanning, nullen - de afwezigheid ervan. Het omzetten van gegevens in nullen en enen wordt binaire conversie genoemd, en de uiteindelijke benaming ervan wordt binaire code genoemd.
In decimale notatie gebaseerd op het decimale getalsysteem dat wordt gebruikt in Alledaagse leven, numerieke waarde wordt weergegeven door tien cijfers van 0 tot en met 9, en elke plaats in het getal heeft een waarde die tien keer hoger is dan de plaats rechts ervan. Om een ​​getal groter dan negen in het decimale systeem weer te geven, wordt een nul op zijn plaats geplaatst en een één op de volgende, waardevollere plaats aan de linkerkant. Op dezelfde manier is in het binaire systeem, dat slechts twee cijfers gebruikt: 0 en 1, elke plaats twee keer zo waardevol als de plaats rechts ervan. In binaire code kunnen dus alleen nul en één worden weergegeven als afzonderlijke getallen, en voor elk getal groter dan één zijn twee plaatsen nodig. Na nul en één zijn de volgende drie binaire getallen 10 (lees één-nul) en 11 (lees één-één) en 100 (lees één-nul-nul). 100 binair systeem gelijk aan 4 decimalen. De bovenste tabel rechts toont andere BCD-equivalenten.
Elk getal kan in binair getal worden uitgedrukt, het neemt alleen meer ruimte in beslag dan in decimaal getal. Je kunt het alfabet ook in het binaire systeem schrijven als je aan elke letter een bepaalde waarde toekent. binair getal.

Twee cijfers voor vier plaatsen
Er kunnen 16 combinaties worden gemaakt met donkere en lichte ballen, door ze te combineren in sets van vier. Als donkere ballen als nullen worden genomen en lichte ballen als enen, zullen 16 sets een binaire code van 16 eenheden blijken te zijn, de numerieke waarde van dat is van nul tot vijf (cm. bovenste tafel op pagina 27). Zelfs met twee soorten ballen in het binaire systeem kan een oneindig aantal combinaties worden gebouwd door simpelweg het aantal ballen in elke groep te vergroten - of het aantal plaatsen in de cijfers.

Bits en bytes

De kleinste eenheid in computerverwerking, een bit is een gegevenseenheid die een of twee kan hebben mogelijke omstandigheden. Elk van de enen en nullen (aan de rechterkant) vertegenwoordigt bijvoorbeeld 1 bit. Een bit kan op andere manieren worden weergegeven: door aanwezigheid of afwezigheid elektrische stroom, een gat en de afwezigheid ervan, de richting van magnetisatie naar rechts of links. Acht bits vormen een byte. 256 mogelijke bytes kunnen 256 tekens en symbolen vertegenwoordigen. Veel computers verwerken één byte aan gegevens tegelijk.

Binaire conversie. Vier cijfers binaire code kan decimale getallen van 0 tot 15 vertegenwoordigen.

Codetabellen

Wanneer binaire code wordt gebruikt om letters van het alfabet of leestekens weer te geven, is dit vereist codetabellen, die aangeven welke code bij welk teken hoort. Er zijn verschillende van dergelijke codes samengesteld. De meeste pc's zijn uitgerust met een zevencijferige code genaamd ASCII, of Amerikaans standaardcode Voor uitwisseling van informatie. De tabel rechts laat het zien ASCII-codes voor het Engelse alfabet. Andere codes zijn voor duizenden tekens en alfabetten van andere talen van de wereld.

Onderdeel van een ASCII-codetabel


Grieks Georgisch
Ethiopisch
Joods
Akshara-sankhya Ander Babylonisch
Egyptische
Etruskisch
Romeins
Donau Zolder
Kipu
Maya
Egeïsch
KPPU-symbolen Positioneel , , , , , , , , , , Nega-positioneel Symmetrisch Gemengde systemen Fibonacci Niet-positioneel Eenheid (unair)

Binair getalsysteem- positioneel getalsysteem met grondtal 2. Dankzij de directe implementatie in digitale elektronische circuits die gebruik maken van logische poorten, wordt het binaire systeem gebruikt in bijna alle moderne computers en andere elektronische apparaten.

Binaire notatie van getallen

In het binaire getalsysteem worden getallen geschreven met behulp van twee symbolen ( 0 En 1 ). Om verwarring te voorkomen in welk nummersysteem het nummer is geschreven, is het rechtsonder voorzien van een indicator. Bijvoorbeeld een getal in het decimale systeem 5 10 , binair 101 2 . Soms wordt een binair getal aangegeven met een voorvoegsel 0b of symbool & (en-teken), Bijvoorbeeld 0b101 of dienovereenkomstig &101 .

In het binaire getalsysteem (net als in andere getalsystemen behalve decimalen) worden de cijfers één voor één gelezen. Het getal 101 2 wordt bijvoorbeeld uitgesproken als ‘één nul één’.

gehele getallen

Een natuurlijk getal geschreven in een binair getalsysteem als (een n - 1 een n - 2 ... een 1 een 0) 2 (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), heeft de betekenis:

(een n - 1 een n - 2 ... een 1 een 0) 2 = ∑ k = 0 n - 1 een k 2 k , (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_( 0))_(2)=\som _(k=0)^(n-1)a_(k)2^(k),)

Negatieve cijfers

Negatieve binaire getallen worden op dezelfde manier aangegeven als decimale getallen: door een “-” teken vóór het getal. Namelijk een negatief geheel getal geschreven in een binair getalsysteem (− een n − 1 een n − 2 … een 1 een 0) 2 (\displaystyle (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), heeft de waarde:

(− een n − 1 een n − 2 … een 1 een 0) 2 = − ∑ k = 0 n − 1 een k 2 k . (\displaystyle (-a_(n-1)a_(n-2)\punten a_(1)a_(0))_(2)=-\som _(k=0)^(n-1)a_( k)2^(k).)

extra code.

Fractionele getallen

Een fractioneel getal geschreven in een binair getalsysteem als (een n - 1 een n - 2 ... een 1 een 0 , een - 1 een - 2 ... een - (m - 1) een - m) 2 (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_(0),a_(-1)a_(-2)\dots a_(-(m-1))a_(-m))_(2)), heeft de waarde:

(een n − 1 een n − 2 … een 1 een 0 , een − 1 een − 2 … een − (m − 1) een − m) 2 = ∑ k = − m n − 1 een k 2 k , (\displaystyle (a_( n-1)a_(n-2)\punten a_(1)a_(0),a_(-1)a_(-2)\punten a_(-(m-1))a_(-m))_( 2)=\som _(k=-m)^(n-1)a_(k)2^(k),)

Optellen, aftrekken en vermenigvuldigen van binaire getallen

Toevoeging tabel

Een voorbeeld van kolomoptelling (decimale uitdrukking 14 10 + 5 10 = 19 10 in binair ziet eruit als 1110 2 + 101 2 = 10011 2):

Voorbeeld van kolomvermenigvuldiging (de decimale uitdrukking 14 10 * 5 10 = 70 10 in binair getal ziet er uit als 1110 2 * 101 2 = 1000110 2):

Beginnend met het getal 1 worden alle getallen vermenigvuldigd met twee. De punt die na de 1 komt, wordt de binaire punt genoemd.

Binaire getallen omzetten naar decimalen

Laten we zeggen dat we een binair getal krijgen 110001 2 . Om naar decimalen te converteren, schrijft u het als een som van cijfers als volgt:

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

Hetzelfde, een beetje anders:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

Je kunt dit als volgt in tabelvorm schrijven:

512 256 128 64 32 16 8 4 2 1
1 1 0 0 0 1
+32 +16 +0 +0 +0 +1

Beweeg van rechts naar links. Schrijf onder elke binaire eenheid het equivalent ervan op de onderstaande regel. Voeg de resulterende decimale getallen toe. Het binaire getal 110001 2 is dus gelijk aan het decimale getal 49 10.

Het omzetten van fractionele binaire getallen naar decimalen

Moet het getal converteren 1011010,101 2 V decimaal systeem. Laten we dit getal als volgt schrijven:

1 * 2 6 + 0 * 2 5 + 1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 -1 + 0 * 2 -2 + 1 * 2 -3 = 90,625

Hetzelfde, een beetje anders:

1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625

Of volgens de tabel:

64 32 16 8 4 2 1 0.5 0.25 0.125
1 0 1 1 0 1 0 , 1 0 1
+64 +0 +16 +8 +0 +2 +0 +0.5 +0 +0.125

Transformatie volgens de methode van Horner

Om getallen met deze methode van binair naar decimaal systeem te converteren, moet je de getallen van links naar rechts optellen, waarbij je het eerder verkregen resultaat vermenigvuldigt met de basis van het systeem (in in dit geval 2). De methode van Horner wordt meestal gebruikt om van binair naar decimaal systeem te converteren. De omgekeerde bewerking is moeilijk, omdat het vaardigheden vereist op het gebied van optellen en vermenigvuldigen in het binaire getalsysteem.

Bijvoorbeeld een binair getal 1011011 2 als volgt omgezet naar een decimaal systeem:

0*2 + 1 = 1
1*2 + 0 = 2
2*2 + 1 = 5
5*2 + 1 = 11
11*2 + 0 = 22
22*2 + 1 = 45
45*2 + 1 = 91

Dat wil zeggen dat dit getal in het decimale systeem wordt geschreven als 91.

Het fractionele deel van getallen converteren met behulp van de methode van Horner

De cijfers worden van rechts naar links uit het getal gehaald en gedeeld door het grondtal van het getalsysteem (2).

Bijvoorbeeld 0,1101 2

(0 + 1 )/2 = 0,5
(0,5 + 0 )/2 = 0,25
(0,25 + 1 )/2 = 0,625
(0,625 + 1 )/2 = 0,8125

Antwoord: 0,1101 2 = 0,8125 10

Decimale getallen omzetten naar binair

Laten we zeggen dat we het getal 19 naar binair moeten converteren. U kunt de volgende procedure gebruiken:

19/2 = 9 met rest 1
9/2 = 4 met rest 1
4/2 = 2 zonder rest 0
2/2 = 1 zonder rest 0
1/2 = 0 met rest 1

Dus delen we elk quotiënt door 2 en schrijven de rest aan het einde van de binaire notatie. We gaan door met delen totdat het quotiënt 0 is. We schrijven het resultaat van rechts naar links. Dat wil zeggen dat het onderste getal (1) het meest linkse is, enz. Als resultaat krijgen we het getal 19 in binaire notatie: 10011 .

Het omzetten van fractionele decimale getallen naar binair

Als het originele nummer bevat hele deel, dan wordt het afzonderlijk van de fractionele geconverteerd. Het converteren van een fractioneel getal van het decimale getalsysteem naar het binaire systeem wordt uitgevoerd met behulp van het volgende algoritme:

  • De breuk wordt vermenigvuldigd met de basis van het binaire getalsysteem (2);
  • In het resulterende product wordt het gehele getal geïsoleerd, dat wordt beschouwd als het meest significante cijfer van het getal in het binaire getalsysteem;
  • Het algoritme eindigt als het fractionele deel van het resulterende product gelijk is aan nul of als de vereiste rekennauwkeurigheid wordt bereikt. Anders gaan de berekeningen verder met het fractionele deel van het product.

Voorbeeld: U moet een gebroken decimaal getal converteren 206,116 naar een fractioneel binair getal.

Vertaling van het gehele deel levert 206 10 =11001110 2 op volgens de eerder beschreven algoritmen. We vermenigvuldigen het fractionele deel van 0,116 met grondtal 2, waarbij we de gehele delen van het product invoeren in de decimalen van het gewenste fractionele binaire getal:

0,116 2 = 0 ,232
0,232 2 = 0 ,464
0,464 2 = 0 ,928
0,928 2 = 1 ,856
0,856 2 = 1 ,712
0,712 2 = 1 ,424
0,424 2 = 0 ,848
0,848 2 = 1 ,696
0,696 2 = 1 ,392
0,392 2 = 0 ,784
enz.

Dus 0,116 10 ≈ 0, 0001110110 2

We krijgen: 206.116 10 ≈ 11001110.0001110110 2

Toepassingen

Op digitale apparaten

Het binaire systeem wordt gebruikt in digitale apparaten omdat het het eenvoudigste is en voldoet aan de eisen:

  • Hoe minder waarden in het systeem aanwezig is, hoe gemakkelijker het is om te produceren individuele elementen, werkend met deze waarden. In het bijzonder kunnen twee cijfers van het binaire getalsysteem gemakkelijk door velen worden weergegeven fysieke verschijnselen: er is stroom (de stroom is groter dan de drempelwaarde) - er is geen stroom (de stroom is minder dan de drempelwaarde), de magnetische veldinductie is groter dan de drempelwaarde of niet (de magnetische veldinductie is minder dan de drempelwaarde), enz.
  • Hoe minder toestanden een element heeft, hoe hoger de ruisimmuniteit en hoe sneller het kan werken. Om bijvoorbeeld drie toestanden te coderen via de grootte van spanning, stroom of magnetische veldinductie, moet u twee drempelwaarden en twee comparatoren introduceren.

IN computer technologie Notatie van negatieve binaire getallen in twee-complement wordt veel gebruikt. Het getal −5 10 zou bijvoorbeeld kunnen worden geschreven als −101 2, maar zou worden opgeslagen als 2 op een 32-bits computer.

In het Engelse systeem van maatregelen

Bij het aangeven van lineaire afmetingen in inches worden traditioneel binaire breuken gebruikt in plaats van decimalen, bijvoorbeeld: 5¾″, 7 15/16″, 3 11/32″, enz.

Generalisaties

Het binaire getalsysteem is een combinatie van het binaire coderingssysteem en een exponentiële wegingsfunctie met een grondtal gelijk aan 2. Opgemerkt moet worden dat een getal in binaire code kan worden geschreven, en dat het getalsysteem mogelijk niet binair is, maar met een verschillende basis. Voorbeeld: binaire decimale codering, waarin decimale cijfers zijn geschreven in binaire vorm en het getallenstelsel is decimaal.

Verhaal

  • Een complete set van 8 trigrammen en 64 hexagrammen, analoog aan 3-bits en 6-bits cijfers, was in het oude China bekend in de klassieke teksten van het Boek der Veranderingen. De volgorde van hexagrammen in boek der veranderingen, gerangschikt in overeenstemming met de waarden van de overeenkomstige binaire cijfers (van 0 tot 63), en de methode om deze te verkrijgen werd in de 11e eeuw ontwikkeld door de Chinese wetenschapper en filosoof Shao Yong. Er zijn echter geen aanwijzingen dat Shao Yun de regels van de binaire rekenkunde begreep, door tupels van twee tekens in lexicografische volgorde te rangschikken.
  • Sets, dit zijn combinaties van binaire cijfers, werden door Afrikanen gebruikt bij traditionele waarzeggerij (zoals Ifa), samen met middeleeuwse geomantie.
  • In 1854 publiceerde de Engelse wiskundige George Boole een baanbrekend artikel waarin algebraïsche systemen werden beschreven zoals toegepast op de logica, dat nu bekend staat als de Booleaanse algebra of de algebra van de logica. Zijn logische analyse was voorbestemd om te spelen belangrijke rol in de ontwikkeling van moderne digitale elektronische schakelingen.
  • In 1937 diende Claude Shannon zijn proefschrift ter verdediging in. Symbolische analyse van relais- en schakelcircuits waarin, waarin Booleaanse algebra en binaire rekenkunde zijn gebruikt met betrekking tot elektronische relais en schakelaars. Alle moderne digitale technologie is in essentie gebaseerd op Shannons proefschrift.
  • In november 1937 creëerde George Stibitz, die later bij Bell Labs werkte, de "Model K" -computer op basis van relais. K itchen", de keuken waar de montage werd uitgevoerd), die binaire optelling uitvoerde. Eind 1938 lanceerde Bell Labs een onderzoeksprogramma onder leiding van Stiebitz. De onder zijn leiding gemaakte computer, voltooid op 8 januari 1940, kon bewerkingen met complexe getallen uitvoeren. Tijdens een demonstratie op de American Mathematical Society-conferentie op Dartmouth College op 11 september 1940 demonstreerde Stibitz de mogelijkheid om opdrachten naar een externe rekenmachine te sturen. complexe getallen Door telefoonlijn met behulp van een teletype. Dit was de eerste poging om afstandsbediening te gebruiken computer via telefoonlijn. Tot de deelnemers aan de conferentie die getuige waren van de demonstratie waren onder meer John von Neumann, John Mauchly en Norbert Wiener, die er later in hun memoires over schreven.
  • Op het fronton van het gebouw (het voormalige computercentrum van de Siberische afdeling van de USSR Academie van Wetenschappen) in de academische stad Novosibirsk staat een binair getal 1000110, gelijk aan 70 10, dat de bouwdatum van het gebouw symboliseert (

Binaire code is een vorm van het vastleggen van informatie in de vorm van enen en nullen. Dit is positioneel met grondtal 2. Tegenwoordig wordt binaire code (de tabel hieronder bevat enkele voorbeelden van het schrijven van getallen) in alle digitale apparaten. De populariteit wordt verklaard door de hoge betrouwbaarheid en eenvoud van deze vorm van opnemen. Binaire rekenkunde is heel eenvoudig en daarom gemakkelijk te implementeren hardwareniveau. componenten (of, zoals ze ook worden genoemd, logisch) zijn zeer betrouwbaar, omdat ze in slechts twee toestanden werken: logische één (er is stroom) en logische nul (geen stroom). Ze steken dus gunstig af bij analoge componenten, waarvan de werking gebaseerd is op transiënte processen.

Hoe is binaire notatie samengesteld?

Laten we eens kijken hoe zo'n sleutel wordt gevormd. Eén bit binaire code kan slechts twee toestanden bevatten: nul en één (0 en 1). Bij gebruik van twee bits wordt het mogelijk om vier waarden te schrijven: 00, 01, 10, 11. Een invoer van drie bits bevat acht toestanden: 000, 001 ... 110, 111. Als resultaat vinden we dat de lengte van de binaire code is afhankelijk van het aantal bits. Deze uitdrukking kan worden geschreven met behulp van de volgende formule: N =2m, waarbij: m het aantal cijfers is en N het aantal combinaties is.

Soorten binaire codes

In microprocessors worden dergelijke sleutels gebruikt om verschillende verwerkte informatie vast te leggen. De breedte van de binaire code kan het ingebouwde geheugen aanzienlijk overschrijden. In dergelijke gevallen bezetten lange nummers meerdere opslaglocaties en worden ze verwerkt met behulp van verschillende commando's. In dit geval worden alle geheugensectoren die zijn toegewezen voor binaire code van meerdere bytes beschouwd als één enkel getal.

Afhankelijk van de noodzaak om deze of gene informatie te verstrekken, zijn er de volgende typen sleutels:

  • niet ondertekend;
  • directe gehele tekencodes;
  • ondertekende inverses;
  • teken extra;
  • Grijze code;
  • Gray Express-code;
  • fractionele codes.

Laten we ze allemaal eens nader bekijken.

Niet-ondertekende binaire code

Laten we eens kijken wat dit type opname is. In integer-codes zonder teken vertegenwoordigt elk cijfer (binair) een macht van twee. In dit geval is het kleinste getal dat in deze vorm kan worden geschreven nul, en het maximum kan worden weergegeven door de volgende formule: M = 2 n -1. Deze twee cijfers definiëren volledig het bereik van de sleutel die kan worden gebruikt om een ​​dergelijke binaire code uit te drukken. Laten we eens kijken naar de mogelijkheden van het genoemde opnameformulier. Bij gebruik van dit type sleutel zonder teken, bestaande uit acht bits, zal het bereik van mogelijke getallen liggen van 0 tot 255. Een zestien-bits code heeft een bereik van 0 tot 65535. In acht-bits processors worden twee geheugensectoren gebruikt om dergelijke nummers, die zich op aangrenzende bestemmingen bevinden, op te slaan en te schrijven. Speciale opdrachten bieden werk met dergelijke toetsen.

Directe integer ondertekende codes

Bij dit type binaire sleutel wordt de meest significante bit gebruikt om het teken van het getal vast te leggen. Nul komt overeen met een plus, en één komt overeen met een min. Als gevolg van de introductie van dit cijfer verschuift het bereik van gecodeerde getallen naar negatieve kant. Het blijkt dat een binaire sleutel met een geheel getal van 8 bits getallen kan schrijven in het bereik van -127 tot +127. Zestien bits - in het bereik van -32767 tot +32767. Acht-bits microprocessors gebruiken twee aangrenzende sectoren om dergelijke codes op te slaan.

Het nadeel van deze vorm van vastleggen is dat de teken- en digitale bits van de sleutel afzonderlijk moeten worden verwerkt. De algoritmen van programma's die met deze codes werken, blijken erg complex te zijn. Om tekenbits te wijzigen en te markeren, is het noodzakelijk mechanismen te gebruiken voor het maskeren van dit symbool, wat bijdraagt ​​​​aan een sterke toename in grootte software en een afname van de snelheid. Om te elimineren dit tekort werd geïntroduceerd de nieuwe soort sleutel - omgekeerde binaire code.

Gesigneerde omgekeerde sleutel

Deze vorm van registratie verschilt alleen van directe codes doordat het negatieve getal daarin wordt verkregen door alle bits van de sleutel om te keren. In dit geval zijn de digitale en tekenbits identiek. Dankzij dit zijn algoritmen voor het werken met dit soort code aanzienlijk vereenvoudigd. De omgekeerde sleutel vereist echter een speciaal algoritme om het eerste cijferteken te herkennen en te berekenen absolute waarde cijfers. En ook restauratie van het bord resulterende waarde. Bovendien worden in de omgekeerde en voorwaartse codes van getallen twee sleutels gebruikt om nul te schrijven. Ondanks het feit dat deze waarde geen positief of negatief teken heeft.

Ondertekend twee-complement binair getal

Dit type opname heeft niet de genoemde nadelen vorige sleutels. Dergelijke codes maken directe sommatie van zowel positieve als negatieve getallen mogelijk. In dit geval wordt geen analyse van het tekenbit uitgevoerd. Dit alles wordt mogelijk gemaakt door het feit dat complementaire getallen een natuurlijke ring van symbolen zijn, in plaats van kunstmatige formaties zoals voorwaartse en achterwaartse toetsen. Bovendien, belangrijke factor is dat het uiterst eenvoudig is om complementberekeningen in binaire codes uit te voeren. Om dit te doen, voegt u er gewoon een toe aan de omgekeerde sleutel. Bij gebruik van dit type tekencode, bestaande uit acht cijfers, ligt het bereik van mogelijke cijfers van -128 tot +127. Een sleutel van zestien bits heeft een bereik van -32768 tot +32767. Acht-bits processors gebruiken ook twee aangrenzende sectoren om dergelijke getallen op te slaan.

Binair extra code is interessant vanwege het waargenomen effect, dat het fenomeen van tekenvoortplanting wordt genoemd. Laten we uitzoeken wat dit betekent. Dit effect is dat het bij het converteren van een waarde van één byte naar een waarde van dubbel byte voldoende is om de waarden van de tekenbits van de lage byte aan elke bit van de hoge byte toe te wijzen. Het blijkt dat je de belangrijkste bits kunt gebruiken om de ondertekende op te slaan. In dit geval verandert de waarde van de sleutel helemaal niet.

Grijze code

Deze vorm van opnemen is in wezen een eenstapssleutel. Dat wil zeggen dat tijdens het overgangsproces van de ene waarde naar de andere slechts één stukje informatie verandert. In dit geval leidt een fout bij het lezen van gegevens tot een overgang van de ene positie naar de andere met een kleine tijdverschuiving. Het verkrijgen van een volledig onjuist resultaat van de hoekpositie met een dergelijke werkwijze is echter volledig uitgesloten. Het voordeel van dergelijke code is de mogelijkheid om informatie te spiegelen. Door bijvoorbeeld de meest significante bits om te keren, kunt u eenvoudig de telrichting veranderen. Dit gebeurt dankzij de Complement-stuuringang. In dit geval kan de uitgangswaarde zowel stijgend als dalend zijn voor één fysieke asrotatierichting. Omdat de informatie die in de Gray-sleutel is vastgelegd, uitsluitend in de natuur is gecodeerd en geen echte numerieke gegevens bevat, dan voorheen verdere werkzaamheden het is vereist om het eerst om te zetten in de gebruikelijke binaire notatievorm. Dit gebeurt met behulp van een speciale converter: de Gray-Binar-decoder. Dit apparaat kan eenvoudig in het basisonderwijs worden geïmplementeerd logische elementen zowel hardware als software.

Grijze Express-code

De standaard éénstapssleutel van Gray is geschikt voor oplossingen die worden weergegeven als getallen, twee. In gevallen waarin het nodig is om andere oplossingen te implementeren, wordt bij deze vorm van opname alleen het middengedeelte uitgesneden en gebruikt. Als gevolg hiervan blijft het eenstapskarakter van de sleutel behouden. In deze code is het begin van het numerieke bereik echter niet nul. Het verschuift naar ingestelde waarde. Tijdens de gegevensverwerking wordt de helft van het verschil tussen de initiële en de gereduceerde resolutie afgetrokken van de gegenereerde pulsen.

Weergave van een gebroken getal in een binaire sleutel met een vast punt

Tijdens het werk moet je niet alleen met hele getallen werken, maar ook met breuken. Dergelijke getallen kunnen worden geschreven met behulp van directe, omgekeerde en complementaire codes. Het principe van het construeren van de genoemde sleutels is hetzelfde als dat van gehele getallen. Tot nu toe geloofden we dat de binaire komma rechts van het minst significante cijfer moest staan. Maar dat is niet waar. Het kan zich links van het meest significante cijfer bevinden (in dit geval kunnen alleen fractionele getallen als variabele worden geschreven) en in het midden van de variabele (gemengde waarden kunnen worden geschreven).

Binaire drijvende-kommaweergave

Dit formulier wordt gebruikt om te schrijven of omgekeerd - heel klein. Voorbeelden hiervan zijn interstellaire afstanden of de grootte van atomen en elektronen. Bij het berekenen van dergelijke waarden zou men zeer grote binaire code moeten gebruiken. We hoeven echter geen rekening te houden met kosmische afstanden tot op de millimeter nauwkeurig. Daarom is de notatievorm met een vast punt in dit geval niet effectief. Om dergelijke codes weer te geven, wordt een algebraïsche vorm gebruikt. Dat wil zeggen, het getal wordt geschreven als een mantisse, vermenigvuldigd met tien tot een macht die de gewenste volgorde van het getal weergeeft. U moet weten dat de mantisse niet groter mag zijn dan één en dat er geen nul achter de komma mag worden geschreven.

Er wordt aangenomen dat binaire calculus in het begin van de 18e eeuw is uitgevonden door de Duitse wiskundige Gottfried Leibniz. Maar zoals wetenschappers onlangs ontdekten, lang voordat het Polynesische eiland Mangareva werd gebruikt dit type rekenkundig. Ondanks het feit dat de kolonisatie bijna volledig verwoest werd originele systemen calculus hebben wetenschappers complexe binaire en decimale manieren van tellen hersteld. Bovendien beweert cognitieve wetenschapper Nunez dat binaire codering al in de 9e eeuw voor Christus in het oude China werd gebruikt. e. Andere oude beschavingen, zoals de Maya's, gebruikten ook complexe combinaties van decimale en binaire systemen om tijdsintervallen en astronomische verschijnselen te volgen.

08. 06.2018

Blog van Dmitry Vassiyarov.

Binaire code - waar en hoe wordt deze gebruikt?

Vandaag ben ik vooral blij jullie te ontmoeten, beste lezers, omdat ik me een leraar voel die bij de allereerste les de klas kennis laat maken met letters en cijfers. En aangezien we in een wereld leven digitale technologieën, dan zal ik je vertellen wat de binaire code is, wat hun basis is.

Laten we beginnen met de terminologie en ontdekken wat binair betekent. Laten we ter verduidelijking terugkeren naar onze gebruikelijke berekening, die 'decimaal' wordt genoemd. Dat wil zeggen, we gebruiken 10 tekens en cijfers, waardoor u gemakkelijk kunt werken verschillende nummers en houd de juiste gegevens bij. Volgens deze logica voorziet het binaire systeem in het gebruik van slechts twee karakters. In ons geval zijn dit slechts “0” (nul) en “1” één. En hier wil ik je waarschuwen dat er hypothetisch gezien anderen in hun plaats zouden kunnen zijn symbolen, maar het zijn juist deze waarden, die de afwezigheid (0, leeg) en de aanwezigheid van een signaal (1 of "stick") aangeven, die ons zullen helpen de structuur van de binaire code verder te begrijpen.

Waarom is binaire code nodig?

Vóór de komst van computers waren er verschillende automatische systemen, waarvan het werkingsprincipe gebaseerd is op het ontvangen van een signaal. De sensor wordt geactiveerd, het circuit sluit en wordt ingeschakeld specifiek apparaat. Geen stroom in het signaalcircuit - geen werking. Het waren elektronische apparaten die het mogelijk maakten vooruitgang te boeken bij het verwerken van informatie die wordt weergegeven door de aan- of afwezigheid van spanning in een circuit.

Hun verdere complicatie leidde tot de opkomst van de eerste processors, die ook hun werk deden en een signaal verwerkten dat bestond uit pulsen die op een bepaalde manier afwisselend waren. We zullen nu niet ingaan op de details van het programma, maar voor ons is het volgende belangrijk: elektronische apparaten bleken een bepaalde reeks binnenkomende signalen te kunnen onderscheiden. Uiteraard is het mogelijk om de voorwaardelijke combinatie als volgt te omschrijven: “er is een signaal”; "geen signaal"; “er is een signaal”; “Er is een signaal.” Je kunt de notatie zelfs vereenvoudigen: “er is”; "Nee"; "Er bestaat"; "Er bestaat".

Maar het is veel gemakkelijker om de aanwezigheid van een signaal aan te duiden met de eenheid “1”, en de afwezigheid ervan met een nul “0”. Dan kunnen we in plaats daarvan een eenvoudige en beknopte binaire code gebruiken: 1011.

Natuurlijk is de processortechnologie een grote stap voorwaarts gegaan en nu kunnen chips niet alleen een reeks signalen waarnemen, maar ook hele programma's die geschreven zijn met specifieke commando's bestaande uit individuele karakters. Maar om ze op te nemen, wordt dezelfde binaire code gebruikt, bestaande uit nullen en enen, die overeenkomen met de aan- of afwezigheid van een signaal. Of hij nu bestaat of niet, het doet er niet toe. Voor een chip is elk van deze opties één stukje informatie, dat een “bit” wordt genoemd (bit is de officiële meeteenheid).

Conventioneel kan een symbool worden gecodeerd als een reeks van verschillende tekens. Twee signalen (of de afwezigheid ervan) kunnen slechts vier opties beschrijven: 00; 01;10; 11. Deze coderingsmethode wordt twee-bits genoemd. Maar het kan ook zijn:

  • met vier bits (zoals in het voorbeeld in de paragraaf hierboven 1011) kunt u 2^4 = 16 tekencombinaties schrijven;
  • acht-bits (bijvoorbeeld: 0101 0011; 0111 0001). Ooit was dit van het grootste belang voor programmeren, omdat het 2^8 = 256 waarden omvatte. Dit maakte het mogelijk om alle decimale cijfers te beschrijven, Latijns alfabet en speciale borden;
  • zestien-bits (1100 1001 0110 1010) en hoger. Maar records met een dergelijke lengte zijn al bedoeld voor moderne, complexere taken. Moderne processoren gebruik 32- en 64-bits architectuur;

Ik zal eerlijk zijn, ik ben de enige officiële versie nee, het gebeurde zo dat het de combinatie van acht tekens was die de standaardmaatstaf voor opgeslagen informatie werd, een zogenaamde “byte”. Dit zou zelfs kunnen worden toegepast op één letter geschreven in 8-bits binaire code. Dus, mijn lieve vrienden, onthoud alsjeblieft (als iemand het nog niet wist):

8 bits = 1 byte.

Zo is het. Hoewel een teken geschreven met een waarde van 2 of 32 bits nominaal ook een byte kan worden genoemd. Trouwens, dankzij binaire code kunnen we het volume van de bestanden schatten, gemeten in bytes, en de snelheid van informatie en internettransmissie (bits per seconde).

Binaire codering in actie

Om de registratie van informatie voor computers te standaardiseren, zijn er verschillende coderingssystemen ontwikkeld, waarvan er één, ASCII, gebaseerd op 8-bits registratie, wijdverspreid is geworden. De waarden daarin worden op een speciale manier verdeeld:

  • de eerste 31 tekens zijn controletekens (van 00000000 tot 00011111). Dienen voor serviceopdrachten, uitvoer naar een printer of scherm, geluidssignalen, tekstopmaak;
  • de volgende van 32 tot 127 (00100000 – 01111111) Latijns alfabet en hulpsymbolen en leestekens;
  • de rest, tot en met de 255e (10000000 – 11111111) – alternatief, onderdeel van de tabel voor speciale taken en weergave van nationale alfabetten;

Het decoderen van de waarden daarin wordt weergegeven in de tabel.

Als je denkt dat “0” en “1” zich in een chaotische volgorde bevinden, dan vergis je je diep. Met een willekeurig getal als voorbeeld zal ik u een patroon laten zien en u leren hoe u getallen leest die in binaire code zijn geschreven. Maar hiervoor accepteren we enkele conventies:

  • we lezen een byte van 8 tekens van rechts naar links;
  • als we in gewone getallen de cijfers van enen, tientallen, honderdtallen gebruiken, dan worden hier (in omgekeerde volgorde gelezen) voor elk bit verschillende machten van “twee” weergegeven: 256-124-64-32-16-8-4-2 -1;
  • Nu kijken we naar de binaire code van het nummer, bijvoorbeeld 00011011. Als er een “1”-signaal op de overeenkomstige positie staat, nemen we de waarden van dit bit en sommen ze op op de gebruikelijke manier. Dienovereenkomstig: 0+0+0+32+16+0+2+1 = 51. Klopt deze methode u kunt dit verifiëren door naar de codetabel te kijken.

Nu, mijn nieuwsgierige vrienden, jullie weten niet alleen wat binaire code is, maar jullie weten ook hoe je de daardoor gecodeerde informatie moet converteren.

Taal begrijpelijk voor moderne technologie

Natuurlijk is het algoritme voor het lezen van binaire code door processorapparaten veel gecompliceerder. Maar je kunt het gebruiken om alles op te schrijven wat je maar wilt:

  • tekstinformatie met opmaakopties;
  • nummers en eventuele handelingen daarmee;
  • grafische en videobeelden;
  • geluiden, inclusief geluiden buiten ons gehoorbereik;

Bovendien is het vanwege de eenvoud van de “presentatie” mogelijk verschillende manieren binaire informatie opnemen: HDD-schijven;

Vult de voordelen van binaire codering virtueel aan onbeperkte mogelijkheden voor het verzenden van informatie over elke afstand. Dit is de communicatiemethode die wordt gebruikt ruimteschepen en kunstmatige satellieten.

Tegenwoordig is het binaire getalsysteem dus een taal die door de meesten van ons wordt begrepen. elektronische apparaten. En het meest interessante is dat er voorlopig geen ander alternatief wordt voorzien.

Ik denk dat de informatie die ik heb gepresenteerd voldoende zal zijn om aan de slag te gaan. En dan, als zo’n behoefte zich voordoet, kan iedereen er dieper op ingaan zelfstudie dit onderwerp. Ik neem afscheid en na een korte pauze ga ik me voor je klaarmaken nieuw artikel mijn blog, over een interessant onderwerp.

Het is beter als je het mij zelf vertelt;)

Tot snel.

Doel van de dienst. De service is ontworpen om nummers van het ene nummersysteem naar het andere te converteren online mode. Om dit te doen, selecteert u de basis van het systeem waarvan u het getal wilt converteren. U kunt zowel gehele getallen als getallen met komma's invoeren.

Nummer

Conversie van 10 2 8 16 nummersysteem. Converteren naar 2 10 8 16 nummersysteem.
Voor fractionele getallen gebruik 2 3 4 5 6 7 8 decimalen.

U kunt zowel hele getallen invoeren, bijvoorbeeld 34, als breuken, bijvoorbeeld 637.333. Voor fractionele getallen wordt de vertaalnauwkeurigheid achter de komma aangegeven.

Het volgende wordt ook gebruikt met deze rekenmachine:

Manieren om getallen weer te geven

Binair (binaire) getallen - elk cijfer betekent de waarde van één bit (0 of 1), het meest significante bit wordt altijd aan de linkerkant geschreven, de letter “b” wordt achter het getal geplaatst. Voor een gemakkelijke waarneming kunnen notitieboekjes worden gescheiden door spaties. Bijvoorbeeld 1010 0101b.
Hexadecimaal (hexadecimale) getallen - elke tetrad wordt weergegeven door één symbool 0...9, A, B, ..., F. Deze weergave kan op verschillende manieren worden aangeduid, hier wordt alleen het symbool “h” gebruikt na het laatste hexadecimaal cijfer. Bijvoorbeeld A5h. In programmateksten kan hetzelfde nummer worden aangeduid als 0xA5 of 0A5h, afhankelijk van de syntaxis van de programmeertaal. Er wordt een voorloopnul (0) toegevoegd aan de linkerkant van het belangrijkste hexadecimale cijfer dat door de letter wordt weergegeven om onderscheid te maken tussen cijfers en symbolische namen.
Decimale (decimale) getallen – elke byte (woord, dubbel woord) wordt weergegeven regulier nummer, en het decimale teken (de letter “d”) wordt meestal weggelaten. De byte in de voorgaande voorbeelden heeft een decimale waarde van 165. In tegenstelling tot binaire en hexadecimale notatie is decimaal moeilijk om mentaal de waarde van elke bit te bepalen, wat soms nodig is.
Octaal (octale) getallen - elk drietal bits (deling begint bij het minst significante) wordt geschreven als een getal van 0 tot en met 7, met een “o” aan het einde. Hetzelfde nummer zou worden geschreven als 245o. Het octale systeem is lastig omdat de byte niet gelijk kan worden verdeeld.

Algoritme voor het converteren van getallen van het ene getalsysteem naar het andere

Vertaling van gehele getallen decimale getallen naar elk ander getalsysteem wordt uitgevoerd door het getal te delen door het grondtal nieuw systeem nummering totdat de rest een getal blijft dat kleiner is dan de basis van het nieuwe nummersysteem. Het nieuwe getal wordt geschreven als delingsresten, beginnend bij het laatste.
Vertaling van het juiste decimale naar een andere PSS wordt uitgevoerd door alleen het fractionele deel van het getal te vermenigvuldigen met de basis van het nieuwe getalsysteem totdat alle nullen in het fractionele deel blijven of totdat de gespecificeerde vertaalnauwkeurigheid is bereikt. Als resultaat van elke vermenigvuldigingsoperatie wordt één cijfer van een nieuw getal gevormd, te beginnen met het hoogste cijfer.
Onjuiste breukvertaling wordt uitgevoerd volgens regels 1 en 2. De gehele en gebroken delen worden samen geschreven, gescheiden door een komma.

Voorbeeld nr. 1.



Conversie van 2 naar 8 naar 16 nummersysteem.
Deze systemen zijn veelvouden van twee, daarom wordt de vertaling uitgevoerd met behulp van een correspondentietabel (zie hieronder).

Om een ​​getal van het binaire getalsysteem naar het octale (hexadecimale) getalsysteem te converteren, is het noodzakelijk om het binaire getal vanaf de komma naar rechts en links te verdelen in groepen van drie (vier voor hexadecimale) cijfers, ter aanvulling van de buitenste groepen. eventueel met nullen. Elke groep wordt vervangen door het overeenkomstige octale of hexadecimale cijfer.

Voorbeeld nr. 2. 1010111010.1011 = 1.010.111.010.101.1 = 1272.51 8
hier 001=1; 010=2; 111=7; 010=2; 101=5; 001=1

Bij overstap naar hexadecimaal systeem het is noodzakelijk om het nummer in delen van vier cijfers te verdelen, volgens dezelfde regels.
Voorbeeld nr. 3. 1010111010,1011 = 10.1011.1010,1011 = 2B12,13 HEX
hier 0010=2; 1011=B; 1010=12; 1011=13

Het omzetten van getallen van 2, 8 en 16 naar het decimale systeem gebeurt door het getal in afzonderlijke eenheden op te delen en het te vermenigvuldigen met de basis van het systeem (van waaruit het getal wordt vertaald) verheven tot de macht die ermee overeenkomt serienummer in het vertaalde nummer. In dit geval worden de getallen links van de komma genummerd (het eerste getal is genummerd 0) in oplopende volgorde, en in rechter zijde met afnemend (d.w.z. met een negatief teken). De verkregen resultaten worden opgeteld.

Voorbeeld nr. 4.
Een voorbeeld van conversie van binair naar decimaal getalsysteem.

1010010.101 2 = 1,2 6 +0,2 5 +1,2 4 +0,2 3 +0,2 2 +1,2 1 +0,2 0 + 1,2 -1 +0,2 - 2 + 1 2 -3 =
= 64+0+16+0+0+2+0+0,5+0+0,125 = 82,625 10 Een voorbeeld van conversie van octaal naar decimaal getalsysteem. 108,5 8 = 1*·8 2 +0·8 1 +8·8 0 + 5·8 -1 = 64+0+8+0,625 = 72,625 10 Een voorbeeld van conversie van hexadecimaal naar decimaal getalsysteem. 108,5 16 = 1,16 2 +0,16 1 +8,16 0 + 5,16 -1 = 256+0+8+0,3125 = 264,3125 10

We herhalen nogmaals het algoritme voor het converteren van getallen van het ene getalsysteem naar een ander PSS

  1. Vanuit het decimale getalsysteem:
    • deel het getal door de basis van het getalsysteem dat wordt vertaald;
    • vind de rest bij het delen van een geheel getal van een getal;
    • noteer alle restanten van de deling in omgekeerde volgorde;
  2. Van het binaire getalsysteem
    • Om naar het decimale getalsysteem te converteren, is het noodzakelijk om de som van de producten van grondtal 2 te vinden met de overeenkomstige cijfergraad;
    • Om een ​​getal naar octaal te converteren, moet je het getal in drieklanken opdelen.
      Bijvoorbeeld 1000110 = 1.000 110 = 106 8
    • Om een ​​getal van binair naar hexadecimaal te converteren, moet je het getal in groepen van 4 cijfers verdelen.
      Bijvoorbeeld 1000110 = 100 0110 = 46 16
Het systeem wordt positioneel genoemd, waarbij de betekenis of het gewicht van een cijfer afhangt van de locatie ervan in het getal. De relatie tussen de systemen wordt uitgedrukt in een tabel.
Correspondentietabel nummersysteem:
Binaire SSHexadecimale SS
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

Tabel voor conversie naar octaal systeem gegist bestek