Conversie naar verschillende nummersystemen. Onderwijscomplex di

Degenen die het Unified State Exam afleggen en meer...

Het is vreemd dat ze studenten in computerwetenschappenlessen op scholen meestal de meest complexe en ongemakkelijke manier laten zien om getallen van het ene systeem naar het andere te converteren. Deze methode bestaat uit het achtereenvolgens delen van het oorspronkelijke getal door het grondtal en het verzamelen van de resten van de deling in omgekeerde volgorde.

U moet bijvoorbeeld het getal 810 10 omzetten naar binair systeem:

We schrijven het resultaat in omgekeerde volgorde van onder naar boven. Het blijkt 81010 = 11001010102

Als je moet converteren naar het binaire systeem, best wel grote cijfers, dan krijgt de scheidingsladder de grootte van een gebouw met meerdere verdiepingen. En hoe kun je alle enen en nullen verzamelen zonder er één te missen?

Het Unified State Exam-programma in computerwetenschappen omvat verschillende taken die verband houden met het converteren van getallen van het ene systeem naar het andere. Meestal is dit een conversie tussen octale en hexadecimale systemen en binair. Dit zijn secties A1, B11. Maar er zijn ook problemen met andere nummersystemen, zoals in paragraaf B7.

Laten we om te beginnen twee tabellen in herinnering brengen die goed zijn om uit het hoofd te kennen voor degenen die informatica als hun toekomstige beroep kiezen.

Tabel met bevoegdheden van nummer 2:

2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10
2 4 8 16 32 64 128 256 512 1024

Het wordt gemakkelijk verkregen door het vorige getal met 2 te vermenigvuldigen. Dus als je niet al deze getallen onthoudt, is het niet moeilijk om de rest in je hoofd te halen uit de getallen die je je wel herinnert.

Tabel met binaire getallen van 0 tot 15 met hexadecimale weergave:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F

De ontbrekende waarden zijn ook eenvoudig te berekenen door 1 op te tellen bij de bekende waarden.

Conversie van gehele getallen

Laten we dus beginnen door rechtstreeks naar het binaire systeem te converteren. Laten we hetzelfde nummer 810 10 nemen. We moeten dit getal ontbinden in termen die gelijk zijn aan machten van twee.

  1. We zijn op zoek naar de kracht van twee die het dichtst bij 810 ligt en deze niet overschrijdt. Dit is 2 9 = 512.
  2. Trek 512 af van 810 en we krijgen 298.
  3. Herhaal stap 1 en 2 totdat er geen enen of nullen meer over zijn.
  4. We hebben het zo: 810 = 512 + 256 + 32 + 8 + 2 = 2 9 + 2 8 + 2 5 + 2 3 + 2 1.
Dan zijn er twee methoden, u kunt ze allemaal gebruiken. Hoe gemakkelijk is het om te zien dat in elk getallensysteem het grondtal altijd 10 is. Het kwadraat van het grondtal zal altijd 100 zijn, de kubus 1000. Dat wil zeggen, de graad van het grondtal van het getallenstelsel is 1 (één), en er staan ​​net zoveel nullen achter als de graad.

Methode 1: Rangschik 1 volgens de cijfers van de indicatoren van de termen. In ons voorbeeld zijn dit 9, 8, 5, 3 en 1. De overige plaatsen bevatten nullen. We hebben dus de binaire weergave van het getal 810 10 = 1100101010 2. Eenheden worden op de 9e, 8e, 5e, 3e en 1e plaats geplaatst, geteld van rechts naar links vanaf nul.

Methode 2: Laten we de termen als machten van twee onder elkaar schrijven, te beginnen met de grootste.

810 =

Laten we nu deze stappen samenvoegen, zoals het vouwen van een ventilator: 1100101010.

Dat is het. Tegelijkertijd is het probleem “hoeveel eenheden zijn er in de binaire notatie van het getal 810?” ook eenvoudig opgelost.

Het antwoord is zoveel als er termen (machten van twee) zijn in deze weergave. 810 heeft er 5.

Nu is het voorbeeld eenvoudiger.

Laten we het getal 63 omzetten naar het 5-voudige getalsysteem. De dichtstbijzijnde macht van 5 tot 63 is 25 (vierkant 5). Een kubus (125) zal al veel zijn. Dat wil zeggen, 63 ligt tussen het kwadraat van 5 en de kubus. Vervolgens selecteren we de coëfficiënt voor 5 2. Dit is 2.

We krijgen 63 10 = 50 + 13 = 50 + 10 + 3 = 2 * 5 2 + 2 * 5 + 3 = 223 5.

En tot slot: zeer eenvoudige vertalingen tussen 8- en hexadecimale systemen. Omdat hun grondtal een macht van twee is, gebeurt de vertaling automatisch, simpelweg door de getallen te vervangen door hun binaire representatie. Voor het octale systeem wordt elk cijfer vervangen door drie binaire cijfers, en voor het hexadecimale systeem door vier. In dit geval zijn alle voorloopnullen vereist, behalve het meest significante cijfer.

Laten we het getal 547 8 omzetten naar binair getal.

547 8 = 101 100 111
5 4 7

Nog één, bijvoorbeeld 7D6A 16.

7D6A 16 = (0)111 1101 0110 1010
7 D 6 A

Laten we het getal 7368 omzetten naar het hexadecimale systeem. Schrijf de getallen eerst in drietallen en deel ze vanaf het einde in viervoud: 736 8 = 111 011 110 = 1 1101 1110 = 1DE 16. Laten we het getal C25 16 omzetten naar het octale systeem. Eerst schrijven we de getallen in vieren en verdelen ze vervolgens vanaf het einde in drieën: C25 16 = 1100 0010 0101 = 110 000 100 101 = 6045 8. Laten we nu eens kijken naar het terug converteren naar decimalen. Het is niet moeilijk, het belangrijkste is om geen fouten te maken in de berekeningen. We breiden het getal uit tot een polynoom met machten van het grondtal en coëfficiënten daarvoor. Vervolgens vermenigvuldigen we en tellen we alles op. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688. 732 8 = 7 * 8 2 + 3*8 + 2 = 474 .

Negatieve getallen omzetten

Hier moet u er rekening mee houden dat het nummer wordt weergegeven extra code. Om een ​​getal in aanvullende code om te zetten, moet je de uiteindelijke grootte van het getal weten, dat wil zeggen waar we het in willen passen: in een byte, in twee bytes, in vier. Het belangrijkste cijfer van een getal betekent het teken. Als er 0 is, is het getal positief, als er 1 is, dan is het negatief. Aan de linkerkant wordt het nummer aangevuld met een tekencijfer. We beschouwen niet-ondertekende getallen niet; ze zijn altijd positief, en het belangrijkste deel ervan wordt als informatie gebruikt.

Om een ​​negatief getal naar de complementcode van een binair getal te converteren, moet u converteren positief getal in het binaire systeem, verander dan nullen in enen en enen in nullen. Voeg vervolgens 1 toe aan het resultaat.

Laten we dus het getal -79 omzetten naar het binaire systeem. Het nummer kost ons één byte.

We converteren 79 naar het binaire systeem, 79 = 1001111. We voegen aan de linkerkant nullen toe aan de grootte van de byte, 8 bits, we krijgen 01001111. We veranderen 1 in 0 en 0 in 1. We krijgen 10110000. We voegen 1 toe aan het resultaat, we krijgen het antwoord 10110001. Onderweg beantwoorden we de Unified State Exam-vraag: “hoeveel eenheden in binaire representatie cijfers -79?” Het antwoord is 4.

Door 1 op te tellen bij de inverse van een getal wordt het verschil tussen de representaties +0 = 00000000 en -0 = 11111111 geëlimineerd. In de twee-complementcode worden ze op dezelfde manier geschreven als 00000000.

Gebrekende getallen converteren

Breukgetallen worden op de omgekeerde manier geconverteerd door hele getallen te delen door de basis, waar we helemaal aan het begin naar hebben gekeken. Dat wil zeggen, het gebruik van opeenvolgende vermenigvuldiging met een nieuwe basis met de verzameling van hele delen. De tijdens de vermenigvuldiging verkregen gehele delen worden verzameld, maar nemen niet deel aan de volgende bewerkingen. Alleen breuken worden vermenigvuldigd. Als het oorspronkelijke getal groter is dan 1, worden de gehele en gebroken delen afzonderlijk vertaald en vervolgens aan elkaar gelijmd.

Laten we het getal 0,6752 omzetten naar het binaire systeem.

0 ,6752
*2
1 ,3504
*2
0 ,7008
*2
1 ,4016
*2
0 ,8032
*2
1 ,6064
*2
1 ,2128

Het proces kan lange tijd worden voortgezet totdat we alle nullen in het fractionele deel hebben of de vereiste nauwkeurigheid is bereikt. Laten we voorlopig stoppen bij het zesde bord.

Het blijkt 0,6752 = 0,101011.

Als het nummer 5.6752 was, dan binair het wordt 101.101011.

2.3. Getallen omzetten van het ene getalsysteem naar het andere

2.3.1. Gehele getallen omzetten van het ene getalsysteem naar het andere

Het is mogelijk een algoritme te formuleren voor het converteren van gehele getallen uit een radixsysteem P tot een systeem met een basis Q :

1. Druk de basis van het nieuwe getallenstelsel uit met behulp van de getallen van het oorspronkelijke getallenstelsel en voer alle daaropvolgende acties uit origineel systeem Afrekening.

2. Deel het gegeven getal en de resulterende gehele quotiënten consistent door de basis van het nieuwe getalsysteem totdat we een quotiënt verkrijgen dat kleiner is dan de deler.

3. De resulterende resten, dit zijn de cijfers van het getal in nieuw systeem nummers, breng ze in overeenstemming met het alfabet van het nieuwe nummersysteem.

4. Stel een getal samen in het nieuwe getalsysteem en schrijf het vanaf de laatste rest.

Voorbeeld 2.12. Converteer decimaal getal 173 10 naar octaal systeem notatie:

We krijgen: 173 10 =255 8

Voorbeeld 2.13. Converteer het decimale getal 173 10 naar een hexadecimaal getalsysteem:

We krijgen: 173 10 = 16 n.Chr.

Voorbeeld 2.14. Converteer het decimale getal 11 10 naar het binaire getalsysteem. Het is handiger om de hierboven besproken reeks acties (vertaalalgoritme) als volgt weer te geven:

We krijgen: 11 10 =1011 2.

Voorbeeld 2.15. Soms is het handiger om het vertaalalgoritme in tabelvorm op te schrijven. Laten we het decimale getal 363 10 omzetten in een binair getal.

Verdeler

We krijgen: 363 10 =101101011 2

2.3.2. Het omzetten van breuken van het ene getalsysteem naar het andere

Het is mogelijk een algoritme te formuleren voor het omrekenen van een juiste breuk met grondtal P in een breuk met grondtal Q:

1. Druk de basis van het nieuwe getallenstelsel uit met getallen uit het oorspronkelijke getallenstelsel en voer alle daaropvolgende acties uit in het oorspronkelijke getallenstelsel.

2. Vermenigvuldig consequent de gegeven getallen en de resulterende fractionele delen van de producten met de basis van het nieuwe systeem totdat het fractionele deel van het product gelijk wordt aan nul of de vereiste nauwkeurigheid van de getalrepresentatie is bereikt.

3. De resulterende gehele delen van de producten, die cijfers zijn van het getal in het nieuwe getallensysteem, moeten in overeenstemming worden gebracht met het alfabet van het nieuwe getallenstelsel.

4. Stel het breukdeel van een getal samen in het nieuwe getalsysteem, beginnend bij het gehele deel van het eerste product.

Voorbeeld 2.17. Converteer het getal 0,65625 10 naar het octale getalsysteem.

We krijgen: 0,65625 10 =0,52 8

Voorbeeld 2.17. Converteer het getal 0,65625 10 naar een hexadecimaal getalsysteem.

X 16

We krijgen: 0,65625 10 =0.A8 1

Voorbeeld 2.18. Converteer de decimale breuk 0,5625 10 naar het binaire getalsysteem.

X 2

X 2

X 2

X 2

We krijgen: 0,5625 10 =0,1001 2

Voorbeeld 2.19. Converteer de decimale breuk 0,7 10 naar het binaire getalsysteem.

Het is duidelijk dat dit proces voor onbepaalde tijd kan doorgaan, waardoor steeds meer nieuwe tekens ontstaan ​​in het beeld van het binaire equivalent van het getal 0,7 10. Dus in vier stappen krijgen we het getal 0,1011 2, en in zeven stappen het getal 0,1011001 2, wat een nauwkeurigere weergave is van het getal 0,7 10 in binair getal. nummersysteem, en enz. Een dergelijk eindeloos proces wordt bij een bepaalde stap beëindigd, wanneer wordt aangenomen dat de vereiste nauwkeurigheid van de getalrepresentatie is verkregen.

2.3.3. Vertaling van willekeurige getallen

Vertaling van willekeurige getallen, d.w.z. getallen met gehele en gebroken delen worden in twee fasen uitgevoerd. Afzonderlijk vertaald hele deel, afzonderlijk - fractioneel. Bij de uiteindelijke registratie van het resulterende getal wordt het gehele deel gescheiden van het breukdeel door een komma (punt).

Voorbeeld 2.20. Converteer het getal 17,25 10 naar het binaire getalsysteem.

We krijgen: 17,25 10 =1001,01 2

Voorbeeld 2.21. Converteer het getal 124,25 10 naar een octaal systeem.

We krijgen: 124,25 10 =174,2 8

2.3.4. Getallen converteren van grondtal 2 naar grondtal 2 n en omgekeerd

Vertaling van gehele getallen. Als de basis van het q-ary-getalsysteem een ​​macht van 2 is, dan kan de conversie van getallen van het q-ary-getalsysteem naar het 2-ary-getalsysteem en terug worden uitgevoerd met behulp van meer eenvoudige regels. Om een ​​geheel binair getal in het getalsysteem met grondtal q=2 n te schrijven, heb je het volgende nodig:

1. Verdeel het binaire getal van rechts naar links in groepen van elk n cijfers.

2. Als de laatste linkergroep minder dan n cijfers heeft, moet deze aan de linkerkant worden aangevuld met nullen tot het vereiste aantal cijfers.

Voorbeeld 2.22. Het getal 101100001000110010 2 wordt omgezet naar het octale getalsysteem.

We verdelen het getal van rechts naar links in drieklanken en schrijven onder elk ervan het overeenkomstige octale cijfer:

We krijgen de octale weergave van het oorspronkelijke nummer: 541062 8.

Voorbeeld 2.23. Het getal 1000000000111110000111 2 wordt omgezet naar het hexadecimale getalsysteem.

We verdelen het getal van rechts naar links in tetrads en schrijven onder elk daarvan het overeenkomstige hexadecimale cijfer:

We krijgen de hexadecimale weergave van het oorspronkelijke nummer: 200F87 16.

Gebrekende getallen converteren. Om een ​​fractioneel binair getal te schrijven in een getallensysteem met grondtal q=2 n, heb je nodig:

1. Verdeel het binaire getal van links naar rechts in groepen van elk n cijfers.

2. Als de laatste rechtse groep minder dan n cijfers heeft, dan moet deze rechts aangevuld worden met nullen tot het vereiste aantal cijfers.

3. Beschouw elke groep als een n-bit binair getal en schrijf het met het overeenkomstige cijfer in het getalsysteem met grondtal q=2 n.

Voorbeeld 2.24. Het getal 0,10110001 2 wordt omgezet naar het octale getalsysteem.

We verdelen het getal van links naar rechts in drieklanken en onder elk ervan schrijven we het overeenkomstige octale cijfer:

We krijgen de octale weergave van het oorspronkelijke getal: 0,542 8 .

Voorbeeld 2.25. Het getal 0,100000000011 2 wordt omgezet naar het hexadecimale getalsysteem. We verdelen het getal van links naar rechts in tetrads en schrijven onder elk daarvan het overeenkomstige hexadecimale cijfer:

We krijgen de hexadecimale weergave van het oorspronkelijke getal: 0,803 16

Vertaling van willekeurige getallen. Om een ​​willekeurig binair getal in het getalsysteem met grondtal q=2 n te schrijven, heb je nodig:

1. Verdeel het gehele deel van een bepaald binair getal van rechts naar links, en het breukdeel van links naar rechts in groepen van elk n cijfers.

2. Indien de laatste linker- en/of rechtergroep minder dan n cijfers telt, dan dienen deze links en/of rechts aangevuld te worden met nullen tot het benodigde aantal cijfers;

3. Beschouw elke groep als een n-bit binair getal en schrijf het met het overeenkomstige cijfer in het getalsysteem met grondtal q = 2 n

Voorbeeld 2.26. Laten we het getal 111100101.0111 2 omzetten naar het octale getalsysteem.

We verdelen de gehele en gebroken delen van het getal in drieklanken en schrijven onder elk ervan het overeenkomstige octale cijfer:

We krijgen de octale weergave van het oorspronkelijke getal: 745.34 8 .

Voorbeeld 2.27. Het getal 11101001000,11010010 2 wordt omgezet naar het hexadecimale getalsysteem.

We verdelen de gehele en fractionele delen van het getal in notitieboekjes en schrijven onder elk daarvan het overeenkomstige hexadecimale cijfer:

We krijgen de hexadecimale weergave van het oorspronkelijke getal: 748,D2 16.

Getallen uit getalstelsels met grondtal q=2 converterenn naar binair. Om te willekeurig nummer, geschreven in het getalsysteem met het grondtal q=2 n, omgezet naar het binaire getalsysteem, moet je elk cijfer van dit getal vervangen door het n-cijferige equivalent in het binaire getalsysteem.

Voorbeeld 2.28 Laten we vertalen hexadecimaal getal 4AC35 16 binair getalsysteem.

Volgens het algoritme:

Wij krijgen: 1001010110000110101 2 .

Taken voor onafhankelijke voltooiing (antwoorden)

2.38. Vul de tabel in, in elke rij waarvan hetzelfde gehele getal in verschillende getalsystemen moet worden geschreven.

Binair

Octaal

Decimale

Hexadecimaal

2.39. Vul de tabel in met in elke rij hetzelfde fractioneel getal moet in verschillende getalsystemen geschreven worden.

Binair

Octaal

Decimale

Hexadecimaal

2.40. Vul de tabel in, in elke rij waarvan hetzelfde willekeurige getal (het getal kan zowel een geheel getal als een gebroken deel bevatten) in verschillende getalsystemen moet worden geschreven.

Binair

Octaal

Decimale

Hexadecimaal

59.B

Lesdoelen:

  • herhaal het bestudeerde materiaal over het onderwerp nummersysteem;
  • leer een getal omzetten van het decimale systeem naar een ander positioneel getalsysteem en omgekeerd;
  • de principes beheersen van het omzetten van getallen van het ene systeem naar het andere;
  • logisch denken ontwikkelen.

Lesvoortgang

Aan het begin van de les een korte herhaling en controle van het huiswerk.

In welke vorm wordt numerieke informatie gepresenteerd in het computergeheugen?

Waar worden nummersystemen voor gebruikt?

Welke soorten nummerstelsels ken je? Geef je eigen voorbeelden.

Hoe verschillen positionele systemen van niet-positionele systemen?

Het doel van onze les is om te leren hoe je een getal van het decimale systeem naar een ander positioneel getalsysteem kunt converteren en omgekeerd. Maar eerst kijken we hoe je dat kunt doen

vertegenwoordigen elk niet-negatief geheel getal:

IN positionele systemen de waarde van het schrijven van een geheel getal wordt bepaald door volgende regel: laat a n a n-1 a n-2 …a 1 a 0 de opname zijn van het getal A, en ik zijn de getallen, dan

waarbij p een geheel getal groter dan 1 is, dat de basis van het getalsysteem wordt genoemd

Om voor een gegeven p elk niet-negatief geheel getal te kunnen schrijven volgens formule (1) en bovendien op een unieke manier: numerieke waarden verschillende cijfers moeten verschillende gehele getallen zijn die tot het segment van 0 tot p-1 behoren.

1) Decimaal systeem

cijfers: 0,1,2,3,4,5,6,7,8,9

nummer 5735 = 5 10 3 +7 10 2 +3 10 1 +8 10 0

2) Ternair systeem

cijfers: 0,1,2

getal 201 3 = 2·3 2 +0·3 1 +1·3 0

Let op: het subscript in een getal geeft de basis aan van het getalsysteem waarin het getal is geschreven. Voor het decimale getalsysteem hoeft de index niet te worden geschreven.

Weergave van negatieve en fractionele getallen:

In alle positionele systemen wordt het ‘–’ teken gebruikt om negatieve getallen te schrijven, net als in het decimale systeem. Een komma wordt gebruikt om het gehele deel van een getal te scheiden van het breukdeel. De waarde van de invoer a n een n-1 a n-2 …a 1 a 0 , a -1 a -2 …a m-2 a m-1 a m van het getal A wordt bepaald door de formule, die een generalisatie is van formule (1):

75,6 = 7·10 1 +5·10 0 +6·10 –1

–2,314 5 = –(2 5 0 +3 5 –1 +1 5 –2 +4 5 –3)

Getallen omzetten van een willekeurig getalsysteem naar decimaal:

Het moet duidelijk zijn dat bij het vertalen van een getal van het ene getalsysteem naar het andere de kwantitatieve waarde van het getal niet verandert, maar alleen de schrijfvorm van het getal verandert, net zoals bij het vertalen van de naam van een getal, bijvoorbeeld van Russisch naar Engels.

Het omzetten van getallen van een willekeurig getalsysteem naar decimalen wordt uitgevoerd door directe berekening met behulp van formule (1) voor gehele getallen en formule (2) voor breuken.

Getallen omzetten van het decimale getalsysteem naar een willekeurig getalsysteem.

Het omzetten van een getal van het decimale systeem naar een systeem met grondtal p betekent het vinden van de coëfficiënten in formule (2). Soms is het gemakkelijk om te doen eenvoudige selectie. Laten we bijvoorbeeld zeggen dat u het getal 23,5 naar het octale systeem moet converteren. Het is gemakkelijk in te zien dat 23,5 = 16+7+0,5 = 2,8+7+4/8 = 2,8 1 +7,8 0 +4,8 –1 =27,48. Het is duidelijk dat het antwoord niet altijd zo voor de hand liggend is. Over het algemeen wordt de methode gebruikt om de gehele en gebroken delen van een getal afzonderlijk te converteren.

Om gehele getallen om te rekenen wordt het volgende algoritme gebruikt (verkregen op basis van formule (1)):

1. Vind het quotiënt en de rest bij het delen van een getal door p. De rest is het volgende cijfer ai (j=0,1,2...) van het getal in het nieuwe getallensysteem.

2. Als het quotiënt gelijk is aan nul, is de vertaling van het getal voltooid, anders passen we punt 1 toe op het quotiënt.

Opmerking 1. De cijfers ai in de getalnotatie zijn van rechts naar links genummerd.

Opmerking 2. Als p>10, dan is het noodzakelijk om notaties in te voeren voor getallen met numerieke waarden groter dan of gelijk aan 10.

Converteer het getal 165 naar het septale getalsysteem.

165:7 = 23 (rest 4) => a 0 = 4

23:7 = 3 (rest 2) => a 1 = 2

3:7 = 0 (rest 3) => a 2 = 3

Laten we het resultaat opschrijven: a 2 a 1 a 0 , d.w.z. 3247.

Na controle met behulp van formule (1), zullen we ervoor zorgen dat de vertaling correct is:

3247=3·7 2 +2·7 1 +4·7 0 =3·49+2·7+4 = 147+14+4 = 165.

Om fractionele delen van getallen te converteren, wordt een algoritme gebruikt dat is verkregen op basis van formule (2):

1. Vermenigvuldig het fractionele deel van het getal met p.

2. Het gehele getal van het resultaat is het volgende cijfer am (m = –1, –2, –3 ...) waarmee het getal in het nieuwe getalsysteem wordt geschreven. Als het fractionele deel van het resultaat nul is, is de vertaling van het getal voltooid, anders passen we stap 1 erop toe.

Opmerking 1. De cijfers a m in de getalnotatie zijn van links naar rechts in oplopende volgorde gerangschikt absolute waarde M.

Opmerking 2. Meestal is het aantal breukcijfers in nieuwe invoer aantallen zijn vooraf beperkt. Hiermee kunt u een benaderende vertaling uitvoeren met een bepaalde nauwkeurigheid. Bij oneindige breuken waarborgt een dergelijke beperking de eindigheid van het algoritme.

Converteer het getal 0,625 naar het binaire getalsysteem.

0,625 2 = 1,25 (geheel deel 1) => a -1 =1

0,25 2 = 0,5 (geheel deel 0) => a- 2 = 0

0,5 2 = 1,00 (geheel deel 1) => a- 3 = 1

Dus 0,62510 = 0,1012

Na controle met behulp van formule (2), zullen we ervoor zorgen dat de vertaling correct is:

0,1012=1·2 -1 +0·2- 2 +1·2 -3 =1/2+1/8 = 0,5+0,125 = 0,625.

Converteer het getal 0,165 naar het quartaire getalsysteem en beperk het tot vier quartaire cijfers.

0,165 4 = 0,66 (geheel deel 0) => a -1 =0

0,66 4 = 2,64 (geheel deel 2) => a -2 = 2

0,64 4 = 2,56 (geheel deel 2) => a -3 = 2

0,56 4 = 2,24 (geheel deel 2) => a -4 = 2

Dus 0,16510" 0,02224

Laten we een terugvertaling uitvoeren om er zeker van te zijn dat de absolute fout niet groter is dan 4–4:

0,02224 = 0,4 -1 +2,4 -2 +2,4 -3 +2,4 -4 = 2/16+2/64+2/256 = 1/8+1/32+1/ 128 = 21/128 = 0,1640625

|0,1640625–0,165| = 0,00094 < 4–4 = 0,00390625

Getallen omzetten van het ene willekeurige systeem naar het andere

In dit geval moet u het getal eerst omzetten naar decimaal systeem en vervolgens van decimaal naar de vereiste waarde.

Er wordt een speciale methode gebruikt om getallen te converteren voor systemen met meerdere bases.

Laat p en q de bases zijn van twee getalsystemen. We noemen deze systemen getalsystemen met meerdere basen als p = qn of q = pn, waarbij n een natuurlijk getal is. Getalstelsels met grondtal 2 en 8 zijn dus bijvoorbeeld meerdere grondtalstelsels.

Stel p = qn en je moet een getal converteren van een getalsysteem met grondtal q naar een getalsysteem met grondtal p. Laten we de gehele en gebroken delen van het getal verdelen in groepen van n opeenvolgend geschreven cijfers links en rechts van de komma. Als het aantal cijfers in het gehele deel van een getal geen veelvoud is van n, moet u het overeenkomstige aantal nullen aan de linkerkant optellen. Als het aantal cijfers in het fractionele deel van een getal geen veelvoud is van n, worden er nullen aan de rechterkant toegevoegd. Elke groep cijfers is een getal in oud systeem nummer komt overeen met één cijfer van een nummer in het nieuwe nummersysteem.

Laten we 1100001.111 2 omzetten naar het quaternaire getalsysteem.

Door nullen toe te voegen en getallenparen te selecteren, krijgen we 01100001.11102.

Laten we nu elk paar cijfers afzonderlijk vertalen, met behulp van de sectie Getallen van het ene willekeurige systeem naar het andere vertalen.

Dus 1100001,1112 = 01100001,11102 = 1201,324.

Laten we nu aannemen dat we moeten overstappen van een systeem met een grotere basis q naar een systeem met een kleinere basis p, d.w.z. q = pn. In dit geval komt één cijfer van een getal in het oude nummersysteem overeen met n cijfers van een nummer in het nieuwe nummersysteem.

Voorbeeld: Laten we de vorige vertaling van een getal controleren.

1201,324 = 1100001,11102=1100001,1112

In het hexadecimale systeem zijn er getallen met numerieke waarden 10,11,12, 13,14,15. Om ze aan te duiden, gebruikt u de eerste zes letters van het Latijnse alfabet A, B, C, D, E, F.

Hier is een tabel met getallen van 0 tot en met 16, geschreven in getalsystemen met grondtal 10, 2, 8 en 16.

Getal in decimaal systeem 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
In octaal 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
In binair 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
In hexadecimaal 0 1 2 3 4 5 6 7 8 9 A B C D E F 10

Om hexadecimale cijfers te schrijven, kunt u ook kleine Latijnse letters a-f gebruiken.

Voorbeeld: Laten we het getal 110101001010101010100.11 2 omzetten in een hexadecimaal getalsysteem.

Laten we de veelheid van de bases van de getalsystemen gebruiken (16=2 4). Laten we de getallen per vier groeperen en het vereiste aantal nullen links en rechts toevoegen

000110101001010101010100,1100 2

en als we de tabel bekijken, krijgen we: 1A9554,C 16

Conclusie:

In welk nummersysteem je het beste getallen kunt schrijven, is een kwestie van gemak en traditie. Vanuit technisch oogpunt is het handig om het binaire systeem in een computer te gebruiken, omdat het slechts twee cijfers 0 en 1 gebruikt om een ​​getal op te slaan, dat kan worden weergegeven door twee gemakkelijk te onderscheiden toestanden “geen signaal” en “er is een signaal.”

Integendeel, het is voor een persoon lastig om met binaire notaties van getallen om te gaan, omdat ze langer zijn dan decimale notaties en er veel herhalende cijfers in zitten. Werk daarom indien nodig met machinale representaties van getallen, gebruik octale of hexadecimale getalsystemen. De grondtallen van deze systemen zijn gehele machten van twee, en daarom kunnen getallen vanuit deze systemen gemakkelijk worden omgezet in binair getal en omgekeerd.

Schrijf de huiswerkopdracht op:

a) Schrijf de geboortedatum van alle leden van uw gezin op in verschillende cijfersystemen.

b) Converteer getallen van binair naar octaal en hexadecimaal en controleer vervolgens de resultaten door de omgekeerde conversies uit te voeren:

a) 1001111110111.011 2;

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 zal je geven 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 deling is gelijk aan nul. 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 niet nieuw te zijn symbolen, eerste tien cijfers van hexadecimaal systemen worden aangeduid met gewone cijfers, en de overige zes zijn dat ook in 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.

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.

Beschouw een decimaal getal als een binair getal systeem door opeenvolgende deling door 2. Om een ​​decimaal getal om te zetten nummer 25 in de code, moet je deze door 2 delen totdat er 0 overblijft.

Laten we er een bekijken de belangrijkste onderwerpen in computerwetenschappen - . IN schoolcurriculum het wordt nogal ‘bescheiden’ onthuld, hoogstwaarschijnlijk vanwege het gebrek aan uren die eraan zijn toegewezen. Kennis over dit onderwerp, vooral over vertaling van getalsystemen, Zijn voorwaarde voor het succesvol behalen van het Unified State Exam en toelating tot universiteiten van de relevante faculteiten. Hieronder bespreken we in detail concepten zoals positionele en niet-positionele nummersystemen, voorbeelden van deze getalsystemen worden gegeven, regels voor het converteren van gehele getallen worden gepresenteerd decimale getallen, juist decimalen en gemengde decimale getallen naar elk ander nummersysteem, conversie van getallen van elk nummersysteem naar decimaal, conversie van octale en hexadecimale nummersystemen naar binair nummersysteem. Op examens in grote hoeveelheden Er zijn problemen met dit onderwerp. Het vermogen om ze op te lossen is een van de vereisten voor aanvragers. Binnenkort beschikbaar: voor elk onderwerp van de sectie, naast gedetailleerd theoretisch materiaal, bijna alles mogelijke opties taken Voor zelfstudie. Bovendien heeft u de mogelijkheid om volledig gratis kant-en-klare producten van een bestandshostingservice te downloaden. gedetailleerde oplossingen voor deze taken, ter illustratie verschillende manieren het juiste antwoord krijgen.

positionele nummersystemen.

Niet-positionele nummersystemen- getalsystemen waarin de kwantitatieve waarde van een cijfer niet afhankelijk is van de locatie ervan in het getal.

Niet-positionele getalsystemen omvatten bijvoorbeeld Romeins, waarbij in plaats van cijfers Latijnse letters voorkomen.

I 1 (één)
V 5 (vijf)
X 10 (tien)
L 50 (vijftig)
C 100 (honderd)
D 500 (vijfhonderd)
M 1000 (duizend)

Hier staat de letter V voor 5, ongeacht de locatie. Het is echter de moeite waard te vermelden dat, hoewel het Romeinse getallensysteem een ​​klassiek voorbeeld is van een niet-positioneel getalsysteem, het niet volledig niet-positioneel is, omdat Het kleinere getal vóór het grotere wordt ervan afgetrokken:

IL 49 (50-1=49)
VI 6 (5+1=6)
XXI 21 (10+10+1=21)
MI 1001 (1000+1=1001)

positionele nummersystemen.

Positionele nummersystemen- getalsystemen waarin de kwantitatieve waarde van een cijfer afhangt van de locatie ervan in het getal.

Als we het bijvoorbeeld hebben over het decimale getallensysteem, dan betekent het getal 7 in het getal 700 "zevenhonderd", maar hetzelfde getal in het getal 71 betekent "zeven tientallen", en in het getal 7020 - "zevenduizend" .

Elk positioneel nummersysteem heeft zijn eigen baseren. Als basis wordt een natuurlijk getal groter dan of gelijk aan twee gekozen. Het is gelijk aan het aantal cijfers dat in een bepaald nummersysteem wordt gebruikt.

    Bijvoorbeeld:
  • Binair- positioneel nummersysteem met grondtal 2.
  • Kwartair- positioneel nummersysteem met grondtal 4.
  • Vijfvoudig- positioneel nummersysteem met grondtal 5.
  • Octaal- positioneel nummersysteem met grondtal 8.
  • Hexadecimaal- positioneel nummersysteem met grondtal 16.

Om problemen rond het onderwerp “Nummersystemen” succesvol op te lossen, moet de student de correspondentie van binaire, decimale, octale en hexadecimale getallen tot 16 10 uit het hoofd kennen:

10 s/s 2 s/s 8 s/s 16 s/s
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

Het is handig om te weten hoe getallen in deze nummersystemen worden verkregen. Je kunt dat raden in octaal, hexadecimaal, ternair en andere positionele nummersystemen alles gebeurt op dezelfde manier als het decimale systeem dat we gewend zijn:

Er wordt één aan het nummer toegevoegd en er wordt een nieuw nummer verkregen. Als de eenheidsplaats gelijk wordt aan de basis van het getalsysteem, verhogen we het aantal tientallen met 1, enz.

Deze ‘transitie van één’ is wat de meeste studenten bang maakt. Eigenlijk is alles vrij eenvoudig. De overgang vindt plaats als het cijfer van de eenheid gelijk wordt aan nummerbasis, verhogen we het aantal tientallen met 1. Velen, die zich het goede oude decimale systeem herinneren, zijn meteen in de war over de cijfers in deze overgang, omdat decimale en bijvoorbeeld binaire tientallen verschillende dingen zijn.

Daarom hebben vindingrijke leerlingen ‘hun eigen methodes’ (verrassend genoeg... werken ze) bij het invullen van bijvoorbeeld waarheidstabellen, waarvan de eerste kolommen (variabele waarden) daadwerkelijk zijn ingevuld. binaire getallen in oplopende volgorde.

Laten we bijvoorbeeld eens kijken naar het invoeren van cijfers octaal systeem: We tellen 1 op bij het eerste getal (0), we krijgen 1. Dan tellen we 1 op bij 1, we krijgen 2, enz. tot 7. Als we één bij 7 optellen, krijgen we een getal dat gelijk is aan de basis van het getalsysteem, d.w.z. 8. Dan moet je de tientallen met één verhogen (we krijgen de octale tien - 10). Vervolgens volgen uiteraard de getallen 11, 12, 13, 14, 15, 16, 17, 20, ..., 27, 30, ..., 77, 100, 101...

Regels voor het omzetten van het ene nummersysteem naar het andere.

1 Gehele decimale getallen converteren naar een ander getalsysteem.

Het getal moet gedeeld worden door nieuwe nummersysteembasis. Het eerste restant van de deling is het eerste kleine cijfer van het nieuwe getal. Als het quotiënt van de deling kleiner is dan of gelijk is aan het nieuwe grondtal, dan moet het (het quotiënt) opnieuw worden gedeeld door het nieuwe grondtal. De deling moet worden voortgezet totdat we een quotiënt minder krijgen dan de nieuwe basis. Dit is het hoogste cijfer van het nieuwe getal (je moet onthouden dat er bijvoorbeeld in het hexadecimale systeem na 9 letters staan, d.w.z. als de rest 11 is, moet je dit als B schrijven).

Voorbeeld ("verdeling door hoek"): Laten we het getal 173 10 omzetten naar het octale getalsysteem.


Dus 173 10 =255 8

2 Reguliere decimale breuken omzetten naar een ander getalsysteem.

Het getal moet worden vermenigvuldigd met het nieuwe getallenstelsel. Het cijfer dat het gehele deel is geworden, is het hoogste cijfer van het fractionele deel van het nieuwe getal. om het volgende cijfer te verkrijgen, moet het fractionele deel van het resulterende product opnieuw worden vermenigvuldigd met een nieuwe basis van het getallensysteem totdat de overgang naar het hele deel plaatsvindt. We gaan door met vermenigvuldigen totdat het breukdeel nul wordt, of totdat we de nauwkeurigheid bereiken die in de opgave is gespecificeerd (“... berekenen met een nauwkeurigheid van bijvoorbeeld twee decimalen”).

Voorbeeld: Laten we het getal 0,65625 10 omzetten naar het octale getalsysteem.