Nummersystemen. Overstappen van het ene systeem naar het andere. Getallen converteren naar verschillende getalsystemen met oplossing

Bij het bestuderen van computerdisciplines komen we het binaire getallenstelsel tegen. Op basis van dit systeem worden immers de processor en sommige vormen van encryptie gebouwd. Er zijn speciale algoritmen voor het schrijven van een decimaal getal in het binaire systeem en omgekeerd. Als je het principe van het bouwen van een systeem kent, zal het niet moeilijk zijn om erin te werken.

Het principe van het construeren van een systeem van nullen en enen

Het binaire getalsysteem is opgebouwd uit twee cijfers: nul en één. Waarom deze specifieke cijfers? Dit komt door het principe van het construeren van de signalen die in de processor worden gebruikt. Op het laagste niveau heeft het signaal slechts twee waarden: false en true. Daarom was het gebruikelijk om de afwezigheid van een signaal met ‘onwaar’ aan te duiden met nul, en de aanwezigheid ervan met ‘waar’. Deze combinatie is technisch eenvoudig te implementeren. Getallen in het binaire systeem worden op dezelfde manier gevormd als in het decimale systeem. Wanneer een cijfer de bovengrens bereikt, wordt het teruggezet op nul en wordt een nieuw cijfer toegevoegd. Dit principe wordt gebruikt om door een tien in het decimale systeem te gaan. Getallen bestaan ​​dus uit combinaties van nullen en enen, en deze combinatie wordt het ‘binaire getalsysteem’ genoemd.

Een nummer registreren in het systeem

Decimaal

In binair

Decimaal

In binair

Hoe schrijf je een binair getal als een decimaal getal?

Er zijn onlinediensten die getallen omzetten naar binair systeem en omgekeerd, maar het is beter om het zelf te kunnen doen. Bij vertaling wordt het binaire systeem aangegeven met het subscript 2, bijvoorbeeld 101 2. Elk getal in elk systeem kan worden weergegeven als een som van getallen, bijvoorbeeld: 1428 = 1000 + 400 + 20 + 8 - in het decimale systeem. Het getal wordt ook binair weergegeven. Laten we nemen willekeurig nummer 101 en overweeg het. Het heeft 3 cijfers, dus we rangschikken het getal op deze manier: 101 2 =1×2 2 +0×2 1 +1×2 0 =4+1=5 10, waarbij de index 10 aangeeft decimaal systeem.

Hoe schrijf je een priemgetal in binair getal?

Het is heel eenvoudig om naar het binaire getalsysteem te converteren door het getal door twee te delen. Het is noodzakelijk om te verdelen totdat het mogelijk is om het volledig te voltooien. Neem bijvoorbeeld het getal 871. We beginnen te delen en noteren de rest:

871:2=435 (rest 1)

435:2=217 (rest 1)

217:2=108 (rest 1)

Het antwoord wordt geschreven volgens de resulterende resten in de richting van begin naar begin: 871 10 =101100111 2. U kunt de juistheid van de berekeningen controleren met behulp van de eerder beschreven omgekeerde vertaling.

Waarom moet je de vertaalregels kennen?

Het binaire getalsysteem wordt gebruikt in de meeste disciplines die verband houden met microprocessorelektronica, codering, verzending en encryptie van gegevens verschillende richtingen programmeren. Kennis van de basisprincipes van vertaling van elk systeem naar binair zal de programmeur helpen verschillende microcircuits te ontwikkelen en de werking van de processor en andere soortgelijke systemen te controleren programmatisch. Het binaire getallensysteem is ook nodig voor het implementeren van methoden voor het verzenden van datapakketten via gecodeerde kanalen en het creëren van client-server softwareprojecten die daarop zijn gebaseerd. In een cursus computerwetenschappen op school vormen de basisprincipes van het converteren naar het binaire systeem en vice versa het basismateriaal voor het bestuderen van programmeren in de toekomst en het maken van eenvoudige programma's.

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. Voor vertaling binair getal in decimaal is het noodzakelijk om het in de vorm van een polynoom te schrijven, bestaande uit de producten van de cijfers van een getal en de overeenkomstige macht van 2, en het te berekenen volgens de regels van de decimale rekenkunde:

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 te converteren octaal systeem het moet achtereenvolgens door 8 worden gedeeld totdat er een rest overblijft die kleiner is dan of gelijk is aan 7. Een getal in het octale systeem wordt geschreven als een reeks cijfers van het resultaat van de laatste deling en de resten van de deling in omgekeerde volgorde.

Voorbeeld. Converteer het getal naar het octale getalsysteem.

6. Om een ​​decimaal getal naar te converteren hexadecimaal systeem het moet achtereenvolgens worden gedeeld door 16 totdat er een rest overblijft die kleiner is dan of gelijk is aan 15. Een hexadecimaal getal wordt geschreven als een reeks cijfers van het resultaat van de laatste deling en de resten van de deling in omgekeerde volgorde.

Voorbeeld. Converteer het getal naar een hexadecimaal getalsysteem.

Rekenkundige bewerkingen in positionele getalsystemen worden uitgevoerd met behulp van één enkel algoritme. De optelling van binaire getallen gebeurt dus volgens het klassieke ‘kolom’-algoritme, waarbij een getal dat een veelvoud is van twee bij één, wordt overgedragen naar het volgende cijfer.

Laten we dit algoritme bekijken aan de hand van het voorbeeld van twee binaire getallen 1010101 2 en 110111 2:

Het resultaat van de optelling ziet er als volgt uit: 10001100 2. Laten we het resultaat van de optelling controleren, waarvoor we alle getallen naar het decimale getalsysteem converteren:

1010101 2 =85 10 , 110111 2 =55 10 , 10001100 2 =140 10 , 85 10 +55 10 =140 10 .

Het binaire systeem, dat de basis vormt van de computerrekenkunde, is erg omslachtig en onhandig voor menselijk gebruik. Daarom gebruiken programmeurs twee veelvouden van het binaire getalsysteem: octaal en hexadecimaal. In het geval van hexadecimaal ontbreken Arabische cijfers en worden de eerste zes hoofdletters als cijfers gebruikt Latijns alfabet. Voorbeelden van het schrijven van natuurlijke getallen van 1 tot 16 in vier getalsystemen zijn geplaatst Tabel 2.

Tabel 2. Voorbeelden van het schrijven van natuurlijke getallen van 1 tot 16

in vier getalsystemen

Van Tabellen 2 Het is te zien dat in het binaire systeem de registratie van de getallen van de tweede acht (van 8 tot 15) verschilt van de registratie van de eerste acht (van 0 tot 7) door de aanwezigheid van een eenheid in de vierde (rechter ) cijfer. Het algoritme voor het omzetten van binaire getallen in octale getallen “via drieklanken” is hierop gebaseerd. Om dit algoritme toe te passen, moet je het binaire getal opsplitsen in drietallen cijfers (van rechts geteld) en een octaal cijfer schrijven in plaats van elk drietal:

10101101 2 → 10 101 101 → 255 8 .

Het meest linkse drietal kan onvolledig zijn (zoals in het voorbeeld); u kunt ontbrekende nullen aan de linkerkant toevoegen;

Laten we ervoor zorgen dat het algoritme correct is:

10101101 2 → 1*2 7 +1*2 5 +1*2 3 +2*2 1 +1*2 0 =173 10 ;

255 8 →2*2 6 +5*2 3 +5*2 0 =173 10 .

Om getallen van het octale systeem naar binair om te zetten, wordt een omgekeerd algoritme gebruikt: octale cijfers worden vervangen door triolen binaire cijfers(indien nodig worden ontbrekende nullen aan de linkerkant toegevoegd):

325 8 → 3 2 5 → 11 010 101 → 11010101 2 .

Om getallen van binair naar hexadecimaal om te zetten, wordt het ‘by tetrad’-algoritme gebruikt. De reeks binaire cijfers wordt in viervoud gesplitst en in plaats daarvan worden hexadecimale cijfers geschreven:

10101101 2 → 1010 1101 → 16 n.Chr.

Het omgekeerde algoritme werkt op dezelfde manier: in plaats van hexadecimale cijfers worden viervoudige binaire cijfers vervangen.

Het is gemakkelijker om van octaal naar hexadecimaal en terug te converteren met behulp van het binaire systeem:

D5 16 → D 5 →1101 0101 → 11010101 2 → 11 010 101 → 325 8 .

Bij het uitvoeren van taken voor het optellen van nummers uit verschillende nummersystemen, moeten deze worden omgezet in één nummersysteem. Het beste is om het systeem te gebruiken waarin het resultaat moet worden gepresenteerd.

Taak 14. (Taak A6 demoversie 2004)

Bereken de waarde van de som in decimale notatie:

10 2 +10 8 +10 16 = ? 10

Oplossing.

Laten we alle getallen naar decimale notatie converteren:

10 2 +10 8 +10 16 = (1*2 1 +0*2 0) + (1*8 1 +0*8 0) + (1*16 1 +0*16 0) = 2+8+16=26 10 .

Antwoord: 26.

Taak 15.

Bereken de som x+y als x=1110101 2 , y=1011011 2 . Druk je antwoord uit in octale notatie.

Oplossing.

Laten we de som vinden: 1110101 2 + 1011011 2:

1110101 2 + 1011011 2 = 11010000 2

Laten we het resulterende getal van het binaire getalsysteem naar octaal converteren:

11 010 000 → 320 8 .

Antwoord: 320.

Taak 16.(Taak B1 van de demo uit 2004)

In een getallensysteem met een grondtal wordt het getal 12 geschreven als 110. Zoek dit grondtal.

Oplossing.

Laten we de vereiste base aangeven met n. Gebaseerd op de regels voor het schrijven van getallen in positionele notaties 110 n =n 2 +n 1 +0. Laten we een vergelijking maken: n 2 +n=12, zoek de wortels: n 1 =-4, n 2 =3. De wortel n 1 = -4 is niet geschikt, omdat de basis van het getalsysteem per definitie een natuurlijk getal groter dan één is. Laten we eens kijken of de wortel n=3 geschikt is:

110 3 =1*3 2 +1*3 1 +0=9+3=12 10

Antwoord: 3.

Oefening17 .

In klas 1111 zitten 2 meisjes en 1100 2 jongens. Hoeveel leerlingen zitten er in de klas?

Oplossing.

1111 2 =1*2 3 +1*2 2 +1*2 1 +1*2 0 →8+4+2+1=15 10 .

1100 2 =1*2 3 +1*2 2 +0*2 1 +0*2 0 →8+4=12 10

15 10 +12 10 =27 10

Antwoord: Er zitten 27 leerlingen in de klas.

Oefening18 .

Er staan ​​100 fruitbomen in de tuin, waarvan 33 appelbomen, 22 peren, 16 pruimen en 5 kersen. In welk getallensysteem worden bomen geteld?

Oplossing.

100 x = 33 x + 22 x + 16 x + 5 x

1*x 2 =3*x 1 +3*x 0 +2*x 1 +2*x 0 + 1*x 1 +6*x 0 +5*x 0

x 2 =3x+3+2x+2+ 1x+6+5

D=b2-4ac=36+4*16=36+64=100

x 1,2 =
= (6±10)/2

x 1 = - 2 – voldoet niet aan de betekenis van het probleem,

x 2 = 8 – de basis van het gewenste getallenstelsel.

Antwoord: bomen worden geteld in een octaal getalsysteem.

Oefening19 .

Gescheiden door komma's, in oplopende volgorde, geven alle bases van getalstelsels aan waarin het getal 17 eindigt op 2.

Oplossing.

Het laatste cijfer in een getal is de rest wanneer het getal wordt gedeeld door de grondtal van het getalsysteem. Omdat 17-2=15 zijn de vereiste grondtallen van de getallenstelsels delers van 15, dit zijn: 3, 5, 15.

Laten we ons antwoord controleren door het getal 17 weer te geven in de overeenkomstige getalsystemen:

1. Ordinaal tellen in verschillende getalsystemen.

IN moderne leven wij gebruiken positioneringssystemen notatie, dat wil zeggen systemen waarin het getal dat door een cijfer wordt aangegeven, afhangt van de positie van het cijfer in de notatie van het getal. Daarom zullen we er in de toekomst alleen over praten, waarbij we de term 'positioneel' weglaten.

Om te leren hoe we getallen van het ene systeem naar het andere kunnen converteren, zullen we begrijpen hoe de opeenvolgende registratie van getallen plaatsvindt aan de hand van het voorbeeld van het decimale systeem.

Omdat we een decimaal getalsysteem hebben, hebben we 10 symbolen (cijfers) om getallen te construeren. We beginnen met ordinaal tellen: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. De cijfers zijn voorbij. We vergroten de bitdiepte van het getal en resetten het minst significante cijfer: 10. Vervolgens verhogen we het lage cijfer weer totdat alle cijfers verdwenen zijn: 11, 12, 13, 14, 15, 16, 17, 18, 19. We verhoog het hoge cijfer met 1 en reset het lage cijfer: 20. Wanneer we alle cijfers voor beide cijfers gebruiken (we krijgen het getal 99), vergroten we opnieuw de cijfercapaciteit van het nummer en resetten we de bestaande cijfers: 100. En dus op.

Laten we proberen hetzelfde te doen in het 2e, 3e en 5e systeem (we introduceren de notatie voor het 2e systeem, voor het 3e, enz.):

0 0 0 0
1 1 1 1
2 10 2 2
3 11 10 3
4 100 11 4
5 101 12 10
6 110 20 11
7 111 21 12
8 1000 22 13
9 1001 100 14
10 1010 101 20
11 1011 102 21
12 1100 110 22
13 1101 111 23
14 1110 112 24
15 1111 120 30

Als het getalsysteem een ​​grondtal groter dan 10 heeft, zullen we extra tekens moeten invoeren; het is gebruikelijk om letters van het Latijnse alfabet in te voeren. Voor het 12-cijferige systeem hebben we bijvoorbeeld naast tien cijfers ook twee letters ( en ) nodig:

0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10
11
12 10
13 11
14 12
15 13

2. Conversie van het decimale getallenstelsel naar een ander systeem.

Een positief geheel getal vertalen decimaal getal in een getallensysteem met een ander grondtal, moet je dit getal delen door het grondtal. Verdeel het resulterende quotiënt opnieuw door de basis, en verder totdat het quotiënt kleiner is dan de basis. Schrijf daarom op één regel het laatste quotiënt en alle resten op, beginnend bij de laatste.

Voorbeeld 1. Laten we het decimale getal 46 omzetten naar het binaire getalsysteem.

Voorbeeld 2. Laten we het decimale getal 672 omzetten naar het octale getalsysteem.

Voorbeeld 3. Laten we het decimale getal 934 omzetten naar het hexadecimale getalsysteem.

3. Conversie van elk getalsysteem naar decimaal.

Laten we, om te leren hoe we getallen uit een ander systeem naar decimalen kunnen converteren, de gebruikelijke notatie voor een decimaal getal analyseren.
Het decimale getal 325 is bijvoorbeeld 5 eenheden, 2 tientallen en 3 honderdtallen, d.w.z.

De situatie is precies hetzelfde in andere getalsystemen, alleen zullen we niet vermenigvuldigen met 10, 100, enz., maar met de machten van de basis van het getalsysteem. Laten we bijvoorbeeld het getal 1201 nemen ternair systeem Afrekening. Laten we de cijfers van rechts naar links nummeren, beginnend bij nul, en ons getal voorstellen als de som van de producten van een cijfer en drie tot de macht van het cijfer van het getal:

Dit is de decimale notatie van ons getal, d.w.z.

Voorbeeld 4. Laten we converteren naar het decimale getalsysteem octaal getal 511.

Voorbeeld 5. Laten we converteren naar het decimale getalsysteem hexadecimaal getal 1151.

4. Conversie van het binaire systeem naar het systeem met de basis “macht van twee” (4, 8, 16, etc.).

Om een ​​binair getal om te zetten in een getal met de basis “macht van twee”, is het noodzakelijk om de binaire reeks in groepen te verdelen op basis van het aantal cijfers gelijk aan de macht van rechts naar links en elke groep te vervangen door het overeenkomstige cijfer nieuw systeem Afrekening.

Laten we bijvoorbeeld het binaire getal 1100001111010110 omzetten naar het octale systeem. Om dit te doen, verdelen we het in groepen van 3 tekens, beginnend vanaf de rechterkant (sinds ), en gebruiken we vervolgens de correspondentietabel en vervangen we elke groep door een nieuw nummer:

In stap 1 hebben we geleerd hoe we een correspondentietabel kunnen bouwen.

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7

Die.

Voorbeeld 6. Laten we het binaire getal 1100001111010110 omzetten naar hexadecimaal.

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

5. Conversie van een systeem met de basis “macht van twee” (4, 8, 16, etc.) naar binair.

Deze vertaling is vergelijkbaar met de vorige, gemaakt in achterkant: We vervangen elk cijfer door een groep binaire cijfers uit de opzoektabel.

Voorbeeld 7. Laten we het hexadecimale getal C3A6 omzetten naar het binaire getalsysteem.

Om dit te doen, vervangt u elk cijfer van het getal door een groep van 4 cijfers (sinds ) uit de correspondentietabel, en vult u de groep indien nodig aan met nullen aan het begin: