Converteren van binair naar decimaal. Toepassing van regels in de wiskunde: binair getalsysteem - getalvertaling

Opmerking 1

Als u een getal van het ene getalsysteem naar het andere wilt converteren, is het handiger om het eerst naar het decimale getallensysteem te converteren en pas daarna van het decimale getallenstelsel naar een ander getalsysteem te converteren.

Regels voor het converteren van getallen van elk getalsysteem naar decimaal

In computertechnologie die gebruik maakt van machinale rekenkunde, speelt de conversie van getallen van het ene getalsysteem naar het andere een belangrijke rol. Hieronder geven we de basisregels voor dergelijke transformaties (vertalingen).

    Wanneer u een binair getal naar een decimaal getal converteert, moet u het binaire getal weergeven als een polynoom, waarvan elk element wordt weergegeven als het product van een cijfer van het getal en de overeenkomstige macht van het grondtal, in dit geval $2$, en dan moet je de polynoom berekenen met behulp van de regels van de decimale rekenkunde:

    $X_2=A_n \cdot 2^(n-1) + A_(n-1) \cdot 2^(n-2) + A_(n-2) \cdot 2^(n-3) + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$

Figuur 1. Tabel 1

Voorbeeld 1

Converteer het getal $11110101_2$ naar het decimale getalsysteem.

Oplossing. Met behulp van de gegeven tabel met machten van $1$ van de basis $2$, stellen we het getal voor als een polynoom:

$11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 128 + 64 + 32 + 16 + 0 + 4 + 0 + 1 = 245_(10)$

    Om een ​​getal van het octale getalsysteem naar het decimale getalsysteem om te zetten, moet je het weergeven als een polynoom, waarvan elk element wordt weergegeven als het product van een cijfer van het getal en de overeenkomstige macht van het grondtal. geval $8$, en dan moet je de polynoom berekenen volgens de regels van de decimale rekenkunde:

    $X_8 = A_n \cdot 8^(n-1) + A_(n-1) \cdot 8^(n-2) + A_(n-2) \cdot 8^(n-3) + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$

Figuur 2. Tabel 2

Voorbeeld 2

Converteer het getal $75013_8$ naar het decimale getalsysteem.

Oplossing. Met behulp van de gegeven tabel met machten van $2$ van het grondtal $8$, stellen we het getal voor als een polynoom:

$75013_8 = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_(10)$

    Om een ​​getal van hexadecimaal naar decimaal om te zetten, moet je het weergeven als een polynoom, waarvan elk element wordt weergegeven als het product van een cijfer van het getal en de overeenkomstige macht van het grondtal, in dit geval $16$, en dan je moet de polynoom berekenen volgens de regels van de decimale rekenkunde:

    $X_(16) = A_n \cdot 16^(n-1) + A_(n-1) \cdot 16^(n-2) + A_(n-2) \cdot 16^(n-3) + . .. + A_2 \cdot 16^1 + A_1 \cdot 16^0$

Figuur 3. Tabel 3

Voorbeeld 3

Converteer het getal $FFA2_(16)$ naar het decimale getalsysteem.

Oplossing. Met behulp van de gegeven tabel met machten van $3$ van het grondtal $8$, stellen we het getal voor als een polynoom:

$FFA2_(16) = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_(10)$

Regels voor het converteren van getallen van het decimale getalsysteem naar een ander

  • Om een ​​getal van het decimale getalsysteem naar het binaire systeem te converteren, moet het opeenvolgend worden gedeeld door $2$ totdat er een rest overblijft die kleiner is dan of gelijk is aan $1$. Een getal in het binaire systeem wordt weergegeven als een reeks van het laatste resultaat van de deling en de restanten van de deling in omgekeerde volgorde.

Voorbeeld 4

Converteer het getal $22_(10)$ naar het binaire getalsysteem.

Oplossing:

Figuur 4.

$22_{10} = 10110_2$

  • Om een ​​getal van het decimale getalsysteem naar octaal te converteren, moet het opeenvolgend worden gedeeld door $8$ totdat er een rest overblijft die kleiner is dan of gelijk is aan $7$. Een getal in het octale getalsysteem wordt weergegeven als een reeks cijfers van het laatste delingsresultaat en de restanten van de deling in omgekeerde volgorde.

Voorbeeld 5

Converteer het getal $571_(10)$ naar het octale getalsysteem.

Oplossing:

Figuur 5.

$571_{10} = 1073_8$

  • Om een ​​getal om te zetten van het decimale getalsysteem naar het hexadecimale systeem, moet het achtereenvolgens worden gedeeld door $16$ totdat er een rest overblijft die kleiner is dan of gelijk is aan $15$. Een getal in het hexadecimale systeem wordt weergegeven als een reeks cijfers van het resultaat van de laatste deling en de rest van de deling in omgekeerde volgorde.

Voorbeeld 6

Converteer het getal $7467_(10)$ naar een hexadecimaal getalsysteem.

Oplossing:

Figuur 6.

$7467_(10) = 1D2B_(16)$

    Om een ​​echte breuk om te zetten van een decimaal getalsysteem naar een niet-decimaal getalsysteem, is het noodzakelijk om het fractionele deel van het getal dat wordt geconverteerd opeenvolgend te vermenigvuldigen met de basis van het systeem waarnaar het moet worden geconverteerd. Breuken in het nieuwe systeem zullen worden weergegeven als hele delen van producten, te beginnen met de eerste.

    Bijvoorbeeld: $0,3125_((10))$ in een octaal getalsysteem ziet er uit als $0,24_((8))$.

    In dit geval kunt u een probleem tegenkomen wanneer een eindige decimale breuk kan overeenkomen met een oneindige (periodieke) breuk in het niet-decimale getalsysteem. In dit geval zal het aantal cijfers in de breuk die in het nieuwe systeem wordt weergegeven, afhangen van de vereiste nauwkeurigheid. Er moet ook worden opgemerkt dat gehele getallen gehele getallen blijven, en dat echte breuken breuken blijven in elk getalsysteem.

Regels voor het converteren van getallen van een binair getalsysteem naar een ander

  • Om een ​​getal van het binaire getalsysteem naar octaal te converteren, moet het worden verdeeld in drieklanken (drietallen cijfers), te beginnen met het minst significante cijfer, indien nodig, nullen toevoegen aan de leidende drieklank en vervolgens elke drieklank vervangen door het overeenkomstige octale cijfer volgens Tabel 4.

Figuur 7. Tabel 4

Voorbeeld 7

Converteer het getal $1001011_2$ naar het octale getalsysteem.

Oplossing. Met behulp van Tabel 4 converteren we het getal van het binaire getalsysteem naar octaal:

$001 001 011_2 = 113_8$

  • Om een ​​getal van het binaire getalsysteem naar hexadecimaal te converteren, moet het worden verdeeld in tetrads (vier cijfers), te beginnen met het minst significante cijfer, indien nodig, nullen optellend bij het meest significante tetrad, en vervolgens elke tetrad vervangen door het overeenkomstige octale cijfer volgens Tabel 4.

De uitdrukking dat al het nieuwe niets meer is dan het goed vergeten oude, is volledig van toepassing. Het blijkt dat ze zelfs in het oude China al iets gebruikten dat doet denken aan onze 'één en nul', hoewel niet voor rekenen, maar voor het schrijven van teksten uit het boek van veranderingen. De Inca's waren het dichtst bij het begrijpen van verschillende getalsystemen: ze gebruikten zowel decimale als binaire systemen, hoewel de laatste alleen voor tekst en gecodeerde berichten. Er kan worden aangenomen dat de Inca's zelfs toen, vierduizend jaar geleden, wisten hoe ze van het binaire naar het decimale systeem moesten converteren.

De moderne versie werd pas ongeveer driehonderd jaar geleden door Leibniz voorgesteld, en na nog eens anderhalve eeuw liet hij zijn naam in de herinnering van het nageslacht achter met zijn werk over de algebra van de logica. Binaire rekenkunde werd, samen met de algebra van de logica, de basis van de moderne digitale technologie. Het begon allemaal in 1937, toen een methode voor symbolische analyse van relais- en schakelcircuits werd voorgesteld. Dit werk van Claude Chenon werd de 'moeder' voor de relaiscomputer, die al in 1937 binaire optelling uitvoerde. En natuurlijk was een van de taken van deze ‘overgrootvader’ van moderne computers de conversie van binair naar decimaal systeem.

Slechts drie jaar gingen voorbij en het volgende model van een relais-"computer" stuurde opdrachten naar de rekenmachine met behulp van een telefoonlijn en een teletype - nou ja, gewoon het oude internet in actie.

Wat zijn binaire, decimale, hexadecimale en, in het algemeen gesproken, elk N-air systeem? Niets ingewikkelds. Laten we een getal van drie cijfers nemen in ons favoriete decimale systeem; het wordt weergegeven met 10 tekens - van 0 tot 9, rekening houdend met hun locatie. Laten we vaststellen dat de cijfers van dit nummer zich op de posities 0, 1, 2 bevinden (de volgorde gaat van het laatste cijfer naar het eerste). Elke positie kan elk van de getallen in het systeem bevatten, maar de grootte van dit getal wordt niet alleen bepaald door de omtrek, maar ook door de locatie. Voor het getal 365 (respectievelijk positie 0 is cijfer 5, positie 1 is cijfer 6 en positie 2 is cijfer 3) is de waarde van het getal op de nulpositie eenvoudigweg 5, in de eerste positie - 6*10 , en in de tweede - 3* 10*10. Het is hier interessant dat het getal, beginnend vanaf de eerste positie, een significant cijfer bevat (van 0 tot 9) en de basis van het systeem tot een macht gelijk aan het positienummer, d.w.z. we kunnen schrijven dat 345 = 3*10*10 + 6*10 +3 = 3*102 + 6*101 + 5*100.

Nog een voorbeeld:

260974 = 2*105 + 6*104 + 0*103 + 9*102 + 7*101 + 4*100.

Zoals we kunnen zien bevat elke positionele plaats een significant getal uit de verzameling van een bepaald systeem, en een vermenigvuldiger vanaf de basis van het systeem tot een macht gelijk aan de positie van het gegeven getal (de cijfercapaciteit van een getal is het getal van posities, maar +1 meer).

Vanuit het oogpunt van het weergeven van een getal is de binaire vorm ervan raadselachtig in zijn eenvoud - er zijn slechts 2 getallen in het systeem - 0 en 1. Maar het mooie van de wiskunde is dat zelfs in een afgeknotte vorm, zoals het lijkt, binaire getallen zijn net zo vol en gelijk als hun "langere kameraden". Maar hoe zijn ze bijvoorbeeld te vergelijken met een decimaal getal? Als alternatief moet u, en langzaam, een conversie uitvoeren van binair naar decimaal. De taak kan niet moeilijk worden genoemd, maar dit moeizame werk vereist aandacht. Dus laten we beginnen.

Gebaseerd op wat hierboven is gezegd over de volgorde van representatie van getallen in elk systeem, en rekening houdend met de eenvoudigste daarvan: binair, laten we elke reeks "enen en nullen" nemen. Laten we dit getal VO noemen (in het Russisch VO), en laten we proberen erachter te komen wat het is: converteren van binair naar decimaal systeem. Laat het VO = 11001010010 zijn. Op het eerste gezicht is het getal slechts een getal. Laten we eens kijken!

In de eerste regel zullen we het getal zelf in een uitgebreide vorm rangschikken, en de tweede schrijven als de som van elke positie in de vorm van factoren - een significant cijfer (hier is de keuze klein - 0 of 1) en het getal 2 tot de macht gelijk aan het positionele getal in het decimale systeem, we doen de vertaling van binair naar decimaal. Nu hoeft de tweede regel alleen nog maar de berekeningen uit te voeren. Voor de duidelijkheid kun je ook een derde regel toevoegen met tussenberekeningen.

VO = 1 1 0 0 1 0 1 0 0 1 0;

VO = 1*210 + 1*29 + 0*28 + 0*27 + 1*26 + 0*25 + 1*24 + 0*23 + 0*22 + 1*21 + 0*20;

VO=1*1024 + 1*512+0*256+0*128+ 1*64 + 0*32 + 1*16 + 0*8 +0*4 + 1*2 + 0*1.

We berekenen de ‘rekenkunde’ in de derde regel en we hebben wat we zochten: VO = 1618. Wat is daar zo geweldig aan? En het feit dat dit getal het beroemdste is van alles wat mensen kennen: de verhoudingen van de Egyptische piramides, de beroemde Mona Lisa, muzieknoten en het menselijk lichaam worden ermee geassocieerd, maar... Maar met een beetje verduidelijking - wetende dat er veel goeds zou moeten zijn, heeft Zijne Majesteit een geval ons dit aantal gegeven dat 1000 keer groter is dan de werkelijke waarde - 1.618. Waarschijnlijk zodat iedereen ervan kan genieten. En gaandeweg hielp de conversie van het binaire systeem naar het decimale systeem om het meest opmerkelijke uit de eindeloze zee van getallen te 'vangen' - het wordt ook wel de 'gouden proportie' genoemd.

Het omzetten van getallen van het ene getalsysteem naar het andere is een belangrijk onderdeel van machinale rekenkunde. Laten we eens kijken naar de basisregels voor vertaling.

1. Om een ​​binair getal naar een decimaal getal te converteren, is het noodzakelijk om het in de vorm van een polynoom te schrijven, bestaande uit de producten van de cijfers van het getal en de overeenkomstige macht van 2, en het te berekenen volgens de decimale regels rekenkundig:

Bij het vertalen is het handig om de tabel met machten van twee te gebruiken:

Tabel 4. Machten van getal 2

n (graad)

Voorbeeld.

2. Om een ​​octaal getal naar een decimaal getal te converteren, is het noodzakelijk om het in de vorm van een polynoom te schrijven, bestaande uit de producten van de cijfers van het getal en de overeenkomstige macht van het getal 8, en het volgens de regels te berekenen van decimale rekenkunde:

Bij het vertalen is het handig om de tabel met machten van acht te gebruiken:

Tabel 5. Machten van het getal 8

n (graad)

Voorbeeld. Converteer het getal naar het decimale getalsysteem.

3. Om een ​​hexadecimaal getal naar een decimaal getal om te zetten, moet het worden opgeschreven als een polynoom bestaande uit de producten van de cijfers van het getal en de overeenkomstige macht van het getal 16, en berekend volgens de regels van de decimale rekenkunde:

Bij het vertalen is het handig in gebruik blitz van bevoegdheden van nummer 16:

Tabel 6. Machten van het getal 16

n (graad)

Voorbeeld. Converteer het getal naar het decimale getalsysteem.

4. Om een ​​decimaal getal naar het binaire systeem te converteren, moet het opeenvolgend door 2 worden gedeeld totdat er een rest kleiner dan of gelijk aan 1 overblijft de verdeling in omgekeerde volgorde.

Voorbeeld. Converteer het getal naar het binaire getalsysteem.

5. Om een ​​decimaal getal naar het octale systeem om te zetten, moet het opeenvolgend door 8 worden gedeeld totdat er een rest kleiner dan of gelijk aan 7 overblijft rest van de verdeling in omgekeerde volgorde.

Voorbeeld. Converteer het getal naar het octale getalsysteem.

6. Om een ​​decimaal getal naar het hexadecimale systeem te converteren, moet het opeenvolgend door 16 worden gedeeld totdat er een rest overblijft kleiner dan of gelijk aan 15. Een getal in het hexadecimale systeem wordt geschreven als een reeks cijfers van het laatste delingsresultaat en de restanten van de deling in omgekeerde volgorde.

Voorbeeld. Converteer het getal naar een hexadecimaal getalsysteem.

Hallo, sitebezoeker! We blijven het IP-netwerklaagprotocol bestuderen, en om preciezer te zijn, de versie IPv4. Op het eerste gezicht het onderwerp binaire getallen en binair getalsysteem heeft niets te maken met het IP-protocol, maar als we bedenken dat computers met nullen en enen werken, dan blijkt dat het binaire systeem en het begrip ervan de basis vormen van de basis, we hebben Leer getallen omzetten van binair naar decimaal en omgekeerd: decimaal naar binair. Dit zal ons helpen het IP-protocol beter te begrijpen, evenals het werkingsprincipe van netwerkmaskers met variabele lengte. Laten we beginnen!

Als het onderwerp computernetwerken u interesseert, kunt u andere cursusopnames lezen.

4.4.1 Inleiding

Voordat we beginnen, is het de moeite waard om uit te leggen waarom een ​​netwerkingenieur dit onderwerp nodig heeft. Hoewel u tijdens ons gesprek overtuigd zou kunnen zijn van de noodzaak ervan, kunt u zeggen dat er IP-calculators zijn die de taak van het toewijzen van IP-adressen, het berekenen van de noodzakelijke subnet-/netwerkmaskers en het bepalen van het netwerknummer en het hostnummer in het IP-adres enorm vergemakkelijken. Dat klopt, maar de IP-calculator is niet altijd bij de hand, dit is reden nummer één. Reden nummer twee is dat ze je bij de Cisco-examens geen IP-calculator geven, en dat is alles. u zult de conversie van IP-adressen van decimaal naar binair op een vel papier moeten doen, en er zijn niet zo weinig vragen waarbij dit vereist is bij het examen(s) voor het behalen van het CCNA-certificaat, het zou zonde zijn als het examen door zo'n kleinigheid niet zou slagen. En ten slotte leidt het begrijpen van het binaire getalsysteem tot een beter begrip van het werkingsprincipe.

Over het algemeen hoeft een netwerkingenieur niet in zijn hoofd getallen van binair naar decimaal en omgekeerd te kunnen omzetten. Bovendien weet zelden iemand hoe hij dit mentaal moet doen; leraren van verschillende cursussen over computernetwerken vallen voornamelijk in deze categorie, omdat ze dit elke dag voortdurend tegenkomen. Maar met een stuk papier en een pen zou je moeten leren vertalen.

4.4.2 Decimale cijfers en cijfers, cijfers in cijfers

Laten we eenvoudig beginnen en het hebben over binaire cijfers en getallen, je weet dat cijfers en cijfers twee verschillende dingen zijn. Een getal is een speciaal symbool voor aanduiding, en een getal is een abstracte notatie voor hoeveelheid. Om bijvoorbeeld op te schrijven dat we vijf vingers aan onze hand hebben, kunnen we Romeinse en Arabische cijfers gebruiken: V en 5. In dit geval is vijf zowel een getal als een cijfer. En om bijvoorbeeld het getal 20 te schrijven, gebruiken we twee cijfers: 2 en 0.

In totaal hebben we in het decimale getalsysteem tien cijfers of tien symbolen (0,1,2,3,4,5,6,7,8,9), door deze te combineren kunnen we verschillende getallen schrijven. Door welk principe laten we ons leiden bij het gebruik van het decimale getalsysteem? Ja, alles is heel eenvoudig, we verhogen tien tot een of andere graad, laten we bijvoorbeeld het getal 321 nemen. Hoe kan het anders worden geschreven, zoals dit: 3*10 2 +2*10 1 +1*10 0 . Het blijkt dus dat het getal 321 drie cijfers vertegenwoordigt:

  1. Het getal 3 betekent de belangrijkste plaats, of in dit geval is het de plaats van de honderdtallen, anders hun nummer.
  2. Het getal 2 staat op de plaats van de tientallen, we hebben twee tientallen.
  3. Het cijfer één verwijst naar het minst significante cijfer.

Dat wil zeggen, in dit artikel is een twee niet zomaar een twee, maar twee tienen of twee keer tien. En drie is niet zomaar drie, maar drie keer honderd. De volgende afhankelijkheid wordt verkregen: de eenheid van elk volgend cijfer is tien keer groter dan de eenheid van het vorige, omdat 300 drie keer honderd is. Een uitweiding over het decimale getalsysteem was nodig om het binaire systeem gemakkelijker te kunnen begrijpen.

4.4.3 Binaire cijfers en cijfers, evenals hun registratie

Er zijn slechts twee cijfers in het binaire getalsysteem: 0 en 1. Daarom is het schrijven van een getal in het binaire systeem vaak veel groter dan in het decimale systeem. Met uitzondering van de getallen 0 en 1 is nul in het binaire getalsysteem gelijk aan nul in het decimale getallenstelsel, en hetzelfde geldt voor één. Om niet te verwarren in welk nummersysteem het nummer is geschreven, worden soms subindexen gebruikt: 267 10, 10100 12, 4712 8. Het nummer in de subindex geeft het nummersysteem aan.

De symbolen 0b en &(ampersand) kunnen worden gebruikt om binaire getallen te schrijven: 0b10111, &111. Als we in het decimale getallensysteem deze constructie gebruiken om het getal 245 uit te spreken: tweehonderdvijfenveertig, dan moeten we in het binaire getalsysteem, om het getal een naam te geven, een cijfer van elk cijfer uitspreken, bijvoorbeeld de getal 1100 moet in het binaire getalsysteem niet worden uitgesproken als duizend honderd, maar als één, één, nul, nul. Laten we eens kijken naar het schrijven van de getallen van 0 tot 10 in het binaire getalsysteem:

Ik denk dat de logica inmiddels duidelijk moet zijn. Als we in het decimale getallensysteem voor elk cijfer tien opties beschikbaar hadden (van 0 tot en met 9), dan hebben we in het binaire getalsysteem voor elk van de cijfers van een binair getal slechts twee opties: 0 of 1.

Om met IP-adressen en subnetmaskers te werken, hebben we in het binaire getalsysteem alleen natuurlijke getallen nodig, hoewel het binaire systeem ons in staat stelt fractionele en negatieve getallen te schrijven, maar dit hebben we niet nodig.

4.4.4 Getallen omzetten van decimaal naar binair

Laten we dit eens beter bekijken Hoe een getal van decimaal naar binair te converteren. En hier is alles eigenlijk heel, heel eenvoudig, hoewel het moeilijk in woorden uit te leggen is, dus ik zal het meteen geven voorbeeld van het converteren van getallen van decimaal naar binair. Laten we het getal 61 nemen, om te zetten naar het binaire systeem. We moeten dit getal door twee delen en kijken wat de rest van de deling is. En het resultaat van de deling wordt opnieuw gedeeld door twee. In dit geval is 61 het deeltal, we hebben altijd twee als deler, en we delen het quotiënt (het resultaat van de deling) weer door twee, gaan door met delen totdat het quotiënt 1 bevat, deze laatste eenheid is het meest linkse cijfer. Onderstaande afbeelding laat dit zien.

Houd er rekening mee dat het getal 61 niet 101111 is, maar 111101, dat wil zeggen dat we het resultaat vanaf het einde schrijven. Met name in dit laatste geval heeft het geen zin om één door twee te delen, omdat in dit geval deling van gehele getallen wordt gebruikt, en met deze benadering komt het er uit als in figuur 4.4.2.

Dit is niet de snelste manier om een ​​getal van binair naar decimaal om te zetten.. We hebben verschillende versnellers. Het getal 7 in binair getal wordt bijvoorbeeld geschreven als 111, het getal 3 als 11 en het getal 255 als 11111111. Al deze gevallen zijn ongelooflijk eenvoudig. Feit is dat de getallen 8, 4 en 256 machten van twee zijn, en dat de getallen 7, 3 en 255 één minder zijn dan deze getallen. Dus voor getallen die één minder zijn dan een getal gelijk aan een macht van twee, geldt een eenvoudige regel: in het binaire systeem wordt zo'n decimaal getal geschreven als een aantal eenheden gelijk aan een macht van twee. Het getal 256 is bijvoorbeeld twee tot de achtste macht, daarom wordt 255 geschreven als 11111111, en het getal 8 is twee tot de derde macht, en dit vertelt ons dat 7 in het binaire getalsysteem zal worden geschreven als 111. Nou, begrijp het, hoe je 256, 4 en 8 schrijft in het binaire getalsysteem is ook niet moeilijk, voeg er gewoon één toe: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
U kunt al uw resultaten op een rekenmachine controleren, maar het is beter om dit eerst te doen.

Zoals je kunt zien, zijn we nog niet vergeten hoe we moeten verdelen. En nu kunnen we verder.

4.4.5 Getallen omzetten van binair naar decimaal

Het converteren van getallen van binair is veel eenvoudiger dan het converteren van decimaal naar binair. Als vertaalvoorbeeld gebruiken we het getal 11110. Let op de onderstaande tabel, deze laat zien tot welke macht je twee moet verheffen om uiteindelijk een decimaal getal te krijgen.

Om uit dit binaire getal een decimaal getal te krijgen, moet je elk getal in het cijfer met twee vermenigvuldigen tot de macht, en vervolgens de resultaten van de vermenigvuldiging optellen, wat gemakkelijker te tonen is:

1*2 4 +1*2 3 +1*2 2 +1*2 1 +0*2 0 = 16+8+4+2+0=30

Laten we de rekenmachine openen en ervoor zorgen dat 30 in het decimale getallensysteem 11110 in binair getal is.

We zien dat alles correct is gedaan. Uit het voorbeeld wordt dat duidelijk Het converteren van een getal van binair naar decimaal is veel eenvoudiger dan het terug converteren. Om met vertrouwen te kunnen werken, hoeft u alleen maar de machten van twee tot en met 2 8 te onthouden. Voor de duidelijkheid zal ik een tabel geven.

Meer hebben we niet nodig, aangezien het maximaal mogelijke aantal dat in één byte kan worden geschreven (8 bits of acht binaire waarden) 255 is, dat wil zeggen dat in elk octet van het IP-adres of IPv4-subnetmasker de maximaal mogelijke waarde is 255. Er zijn velden waarin waarden groter zijn dan 255, maar we hoeven deze niet te berekenen.

4.4.6 Optellen, aftrekken, vermenigvuldigen van binaire getallen en andere bewerkingen met binaire getallen

Laten we nu eens kijken bewerkingen die op binaire getallen kunnen worden uitgevoerd. Laten we beginnen met eenvoudige rekenkundige bewerkingen en vervolgens verdergaan met Booleaanse algebra-bewerkingen.

Binaire getallen toevoegen

Het optellen van binaire getallen is niet zo moeilijk: 1+0 =1; 1+1=0 (ik geef later uitleg); 0+0=0. Dit waren eenvoudige voorbeelden waarbij slechts één cijfer werd gebruikt. Laten we eens kijken naar voorbeelden waarbij het aantal cijfers meer dan één is.
101+1101 in het decimale systeem is 5 + 13 = 18. Laten we in een kolom tellen.

Het resultaat is oranje gemarkeerd, de rekenmachine zegt dat we het correct hebben berekend, u kunt het controleren. Laten we nu eens kijken waarom dit gebeurde, omdat ik eerst schreef dat 1+1=0, maar dit is voor het geval dat we maar één cijfer hebben, voor gevallen waarin er meer dan één cijfer is, 1+1=10 (of twee in decimalen), wat logisch is.

Kijk dan wat er gebeurt, we voeren optellingen uit met cijfers van rechts naar links:

1. 1+1=10, schrijf nul en één gaat naar het volgende cijfer.

2. In het volgende cijfer krijgen we 0+0+1=1 (deze eenheid kwam tot ons door het resultaat van de optelling in stap 1).

4. Hier hebben we alleen een eenheid in het tweede getal, maar deze is ook hierheen overgebracht, dus 0+1+1 = 10.

5. Lijm alles aan elkaar: 10|0|1|0.

Als je lui bent in een kolom, laten we dan als volgt tellen: 101011+11011 of 43 + 27 = 70. Wat kunnen we hier doen, maar laten we eens kijken, want niemand verbiedt ons om transformaties uit te voeren en de plaatsen van de termen veranderen de som niet, voor het binaire getalsysteem is deze regel ook relevant.

  1. 101011 = 101000 + 11 = 101000 + 10 + 1 = 100000 + 1000 + 10 + 1.
  2. 11011 = 11000 + 10 + 1 = 10000 + 1000 + 10 + 1.
  3. 100000 + 10000 + (1000 +1000) + (10+10) + (1+1).
  4. 100000 + (10000 + 10000) + 100 + 10.
  5. 100000 + 100000 +110
  6. 1000000 + 110.
  7. 1000110.

U kunt dit controleren met een rekenmachine: 1000110 in binair getal is 70 in decimaal getal.

Binaire getallen aftrekken

Meteen een voorbeeld voor het aftrekken van ééncijferige getallen in het binaire getalsysteem, we hebben het niet over negatieve getallen gehad, dus we houden geen rekening met 0-1: 1 – 0 = 1; 0 – 0 = 0; 1 – 1 = 0. Als er meer dan één cijfer is, dan is alles ook eenvoudig, je hebt zelfs geen kolommen of trucjes nodig: 110111 – 1000, dit is hetzelfde als 55 – 8. Als resultaat krijgen we 101111. En het hart stopte met kloppen, waar komt de eenheid in het derde cijfer vandaan (nummering van links naar rechts en beginnend bij nul)? Het is eenvoudig! In het tweede cijfer van het getal 110111 staat 0, en in het eerste cijfer is er 1 (als we aannemen dat de nummering van cijfers begint bij 0 en van links naar rechts gaat), maar de eenheid van het vierde cijfer wordt verkregen door het optellen van twee eenheden van het derde cijfer (er wordt een soort virtuele twee verkregen) en hiervan trekken we voor tweeën één af, die in het nulcijfer van het getal 1000 staat, en 2 - 1 = 1, en 1 is een geldig cijfer in het binaire getalsysteem.

Binaire getallen vermenigvuldigen

Het blijft aan ons om de vermenigvuldiging van binaire getallen te overwegen, die wordt geïmplementeerd door een bit naar links te verschuiven. Maar laten we eerst eens kijken naar de resultaten van vermenigvuldiging met één cijfer: 1*1 = 1; 1*0=0 0*0=0. Eigenlijk is alles eenvoudig, laten we nu naar iets complexers kijken. Laten we de getallen 101001 (41) en 1100 (12) nemen. We zullen vermenigvuldigen met een kolom.

Als uit de tabel niet duidelijk blijkt hoe dit is gebeurd, zal ik proberen het in woorden uit te leggen:

  1. Het is handig om binaire getallen in een kolom te vermenigvuldigen, dus schrijven we de tweede factor onder de eerste; als de getallen een verschillend aantal cijfers hebben, is het handiger als het grotere getal bovenaan staat;
  2. De volgende stap is het vermenigvuldigen van alle cijfers van het eerste getal met het laagste cijfer van het tweede getal. We schrijven het resultaat van de vermenigvuldiging hieronder, we moeten het zo schrijven dat onder elk corresponderend cijfer het resultaat van de vermenigvuldiging wordt geschreven.
  3. Nu moeten we alle cijfers van het eerste getal vermenigvuldigen met het volgende cijfer van het tweede getal en het resultaat nog een regel eronder schrijven, maar dit resultaat moet een cijfer naar links worden verschoven als je naar de tabel kijkt, dit is de tweede reeks nullen vanaf de bovenkant.
  4. Hetzelfde moet worden gedaan voor de volgende cijfers, waarbij u telkens één cijfer naar links verplaatst, en als u naar de tabel kijkt, kunt u dat één cel naar links zeggen.
  5. We hebben vier binaire getallen die we nu moeten optellen om het resultaat te krijgen. We hebben onlangs gekeken naar de toevoeging, er zouden geen problemen moeten zijn.

Over het algemeen is de vermenigvuldigingsoperatie niet zo moeilijk, je hebt alleen wat oefening nodig.

Booleaanse algebrabewerkingen

Er zijn twee zeer belangrijke concepten in de Booleaanse algebra: waar en onwaar, waarvan het equivalent nul en één is in het binaire getalsysteem. Booleaanse algebra-operatoren breiden het aantal beschikbare operatoren over deze waarden uit. Laten we ze eens bekijken.

Logische EN- of EN-bewerking

De logische EN- of EN-bewerking is gelijk aan het vermenigvuldigen van binaire getallen van één cijfer.

1 EN 1 = 1; 1 EN 0 = 1; 0 EN 0 = 0; 0 EN 1 = 0.

1 EN 1 = 1;

1 EN 0 = 1;

0 EN 0 = 0;

0 EN 1 = 0.

Het resultaat van “Logisch AND” zal alleen één zijn als beide waarden gelijk zijn aan één; in alle andere gevallen zal het nul zijn.

Operatie "Logische OR" of OR

De bewerking “Logische OR” of OR werkt volgens het volgende principe: als ten minste één waarde gelijk is aan één, dan is het resultaat één.

1 OF 1 = 1; 1 OF 0 = 1; 0 OF 1 = 1; 0 OF 0 = 0.

1 OF 1 = 1;

1 OF 0 = 1;

0 OF 1 = 1;

0 OF 0 = 0.

Exclusieve OR- of XOR-bediening

De bewerking "Exclusieve OR" of XOR geeft ons alleen het resultaat één als een van de operanden gelijk is aan één en de tweede gelijk is aan nul. Als beide operanden gelijk zijn aan nul, zal het resultaat nul zijn en zelfs als beide operanden gelijk zijn aan één, zal het resultaat nul zijn.

Instructies

Video over het onderwerp

In het telsysteem dat we elke dag gebruiken, zijn er tien cijfers - van nul tot negen. Daarom heet het decimaal. Bij technische berekeningen, vooral die met betrekking tot computers, zijn er echter andere systemen, met name binair en hexadecimaal. Daarom moet je kunnen vertalen cijfers van één systemen aftellen naar een ander.

Je zult nodig hebben

  • - een stuk papier;
  • - potlood of pen;
  • - rekenmachine.

Instructies

Het binaire systeem is het eenvoudigste. Het heeft slechts twee cijfers: nul en één. Elk cijfer van binair getal cijfers, beginnend vanaf het einde, komt overeen met een macht van twee. Twee is gelijk aan één, in de eerste - twee, in de tweede - vier, in de derde - acht, enzovoort.

Stel dat je het binaire getal 1010110 krijgt. De eenheden daarin staan ​​op de tweede, derde, vijfde en zevende plaats. Daarom is dit getal in het decimale systeem 2^1 + 2^2 + 2^4 + 2^6 = 2 + 4 + 16 + 64 = 86.

Omgekeerd probleem - decimaal cijfers systeem. Laten we zeggen dat je het getal 57 hebt. Om dit te krijgen, moet je het getal achtereenvolgens door 2 delen en de rest opschrijven. Het binaire getal wordt van begin tot begin opgebouwd.
De eerste stap geeft je het laatste cijfer: 57/2 = 28 (rest 1).
Dan krijg je de tweede van het einde: 28/2 = 14 (de rest 0).
Verdere stappen: 14/2 = 7 (rest 0);
7/2 = 3 (rest 1);
3/2 = 1 (rest 1);
1/2 = 0 (rest 1).
Dit is de laatste stap omdat het resultaat van de deling nul is. Als resultaat kreeg je het binaire getal 111001.
Controleer je antwoord: 111001 = 2^0 + 2^3 + 2^4 + 2^5 = 1 + 8 + 16 + 32 = 57.

De tweede, die in computerzaken wordt gebruikt, is hexadecimaal. Het heeft geen tien, maar zestien cijfers. Om nieuwe conventies te vermijden, zijn de eerste tien cijfers hexadecimaal systemen worden aangegeven met gewone cijfers en de overige zes met Latijnse letters: A, B, C, D, E, F. Ze komen overeen met de decimale notatie cijfers m van 10 tot 15. Om verwarring te voorkomen wordt het in hexadecimaal geschreven getal voorafgegaan door het #-teken of de symbolen 0x.

Om een ​​getal te maken van hexadecimaal systemen, moet je elk cijfer vermenigvuldigen met de overeenkomstige macht van zestien en de resultaten bij elkaar optellen. Het getal #11A in decimale notatie is bijvoorbeeld 10*(16^0) + 1*(16^1) + 1*(16^2) = 10 + 16 + 256 = 282.

Omgekeerde conversie van decimaal systemen naar hexadecimaal gebeurt met dezelfde methode van resten als naar binair. Neem bijvoorbeeld het getal 10.000. Als je dit consequent deelt door 16 en de rest opschrijft, krijg je:
10000/16 = 625 (rest 0).
625/16 = 39 (rest 1).
39/16 = 2 (rest 7).
2/16 = 0 (rest 2).
Het resultaat van de berekening is het hexadecimale getal #2710.
Controleer je antwoord: #2710 = 1*(16^1) + 7*(16^2) + 2*(16^3) = 16 + 1792 + 8192 = 10000.

Overdracht cijfers van hexadecimaal systemen Het is veel gemakkelijker om naar binair te converteren. Het getal 16 is een twee: 16 = 2^4. Daarom kan elk hexadecimaal cijfer worden geschreven als een binair getal van vier cijfers. Als een binair getal minder dan vier cijfers bevat, voeg dan voorloopnullen toe.
Bijvoorbeeld #1F7E = (0001)(1111)(0111)(1110) = 1111101111110.
Controleer het antwoord: beide cijfers in decimale notatie zijn ze gelijk aan 8062.

Om te vertalen moet je het binaire getal opdelen in groepen van vier cijfers, beginnend bij het einde, en elke groep vervangen door een hexadecimaal cijfer.
11000110101001 wordt bijvoorbeeld (0011)(0001)(1010)(1001), wat in hexadecimale notatie gelijk is aan #31A9. De juistheid van het antwoord wordt bevestigd door conversie naar decimale notatie: beide cijfers zijn gelijk aan 12713.

Tip 5: Zo converteer je een getal naar binair

Vanwege het beperkte gebruik van symbolen is het binaire systeem het handigst voor gebruik in computers en andere digitale apparaten. Er zijn maar twee symbolen: 1 en 0, dus dit systeem gebruikt bij de werking van registers.

Instructies

Binair is positioneel, d.w.z. De positie van elk cijfer in een getal komt overeen met een bepaald cijfer, dat gelijk is aan twee tot de juiste macht. De graad begint bij nul en neemt toe naarmate u van rechts naar links beweegt. Bijvoorbeeld, nummer 101 is gelijk aan 1*2^0 + 0*2^1 + 1*2^2 = 5.

Octale, hexadecimale en decimale systemen worden ook veel gebruikt in positionele systemen. En als voor de eerste twee de tweede methode meer van toepassing is, dan is voor vertaling van beide van toepassing.

Beschouw een decimaal getal als een binair getal systeem door opeenvolgende deling door 2. Om een ​​decimaal getal om te zetten nummer 25 V