Konvertuokite šį skaičių į dvejetainę skaičių sistemą. Skaičių sistemos. Perkėlimas iš vienos sistemos į kitą

21.10.2019

Laikantieji vieningą valstybinį egzaminą ir dar daugiau...

Keista, kad informatikos pamokose mokyklose dažniausiai mokiniams parodomas sudėtingiausias ir nepatogiausias būdas konvertuoti skaičius iš vienos sistemos į kitą. Šis metodas susideda iš nuoseklaus pradinio skaičiaus padalijimo iš pagrindo ir likučių surinkimo iš padalijimo atvirkštine tvarka.

Pavyzdžiui, jums reikia konvertuoti skaičių 810 10 į dvejetainį:

Rezultatą rašome atvirkštine tvarka iš apačios į viršų. Pasirodo, 81010 = 11001010102

Jei reikia paversti gana didelius skaičius į dvejetainę sistemą, tada padalijimo kopėčios įgauna kelių aukštų pastato dydį. O kaip surinkti visus vienetus ir nulius ir nepraleisti nė vieno?

Informatikos vieningo valstybinio egzamino programa apima keletą užduočių, susijusių su skaičių konvertavimu iš vienos sistemos į kitą. Paprastai tai konvertuojama tarp aštuntainės ir šešioliktainės sistemos bei dvejetainės. Tai A1, B11 skyriai. Tačiau yra problemų ir su kitomis skaičių sistemomis, pavyzdžiui, B7 skyriuje.

Pirmiausia prisiminkime dvi lenteles, kurias būtų gerai žinoti atmintinai tiems, kurie renkasi informatiką kaip būsimą profesiją.

Skaičiaus 2 galių lentelė:

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

Jį lengva gauti padauginus ankstesnį skaičių iš 2. Taigi, jei neprisimenate visų šių skaičių, likusius nesunku mintyse gauti iš tų, kuriuos prisimenate.

Dvejetainių skaičių nuo 0 iki 15 lentelė su šešioliktainiu pavaizdavimu:

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

Trūkstamas reikšmes taip pat lengva apskaičiuoti, prie žinomų verčių pridedant 1.

Sveikųjų skaičių konvertavimas

Taigi, pradėkime nuo konvertavimo tiesiai į dvejetainę sistemą. Paimkime tą patį skaičių 810 10. Turime išskaidyti šį skaičių į terminus, lygius dviejų laipsniams.

  1. Ieškome dviejų arčiausiai 810 ir jo neviršijančių galios. Tai yra 2 9 = 512.
  2. Iš 810 atimkite 512 ir gausime 298.
  3. Kartokite 1 ir 2 veiksmus, kol neliks 1 ar 0.
  4. Gavome taip: 810 = 512 + 256 + 32 + 8 + 2 = 2 9 + 2 8 + 2 5 + 2 3 + 2 1.
Tada yra du būdai, galite naudoti bet kurį iš jų. Kaip lengva pastebėti, kad bet kurioje skaičių sistemoje jos pagrindas visada yra 10. Pagrindo kvadratas visada bus 100, kubo – 1000. Tai yra, skaičių sistemos pagrindo laipsnis yra 1 (vienas), ir už jo yra tiek nulių, kiek laipsnio.

1 būdas: Išdėstykite 1 pagal terminų rodiklių eiles. Mūsų pavyzdyje tai yra 9, 8, 5, 3 ir 1. Likusiose vietose bus nuliai. Taigi, gavome dvejetainį skaičių 810 10 = 1100101010 2. Vienetai dedami į 9, 8, 5, 3 ir 1 vietas, skaičiuojant iš dešinės į kairę nuo nulio.

2 metodas: Parašykime terminus kaip dviejų laipsnius vienas po kito, pradedant nuo didžiausio.

810 =

Dabar sudėkite šiuos veiksmus, pavyzdžiui, ventiliatoriaus sulankstymą: 1100101010.

Tai viskas. Tuo pačiu metu taip pat tiesiog išspręsta problema „kiek vienetų yra dvejetainiame skaičiaus 810 žymėjime?

Atsakymas yra tiek, kiek šiame vaizde yra terminų (dviejų galių). 810 turi 5 iš jų.

Dabar pavyzdys paprastesnis.

Paverskime skaičių 63 į 5-ių skaičių sistemą. Artimiausia galia nuo 5 iki 63 yra 25 (5 kvadratas). Kubas (125) jau bus daug. Tai yra, 63 yra tarp kvadrato iš 5 ir kubo. Tada parinksime koeficientą 5 2. Tai yra 2.

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

Ir galiausiai labai paprasti vertimai tarp 8 ir šešioliktainių sistemų. Kadangi jų bazė yra dviejų laipsnis, vertimas atliekamas automatiškai, tiesiog pakeičiant skaičius jų dvejetainiu vaizdu. Aštuontainėje sistemoje kiekvienas skaitmuo pakeičiamas trimis dvejetainiais skaitmenimis, o šešioliktainėje sistemoje – keturiais. Šiuo atveju privalomi visi priekiniai nuliai, išskyrus reikšmingiausią skaitmenį.

Paverskime skaičių 547 8 į dvejetainį.

547 8 = 101 100 111
5 4 7

Dar vienas, pavyzdžiui, 7D6A 16.

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

Paverskime skaičių 7368 į šešioliktainę sistemą. Pirmiausia skaičius surašykite trigubais, o tada iš galo padalykite į keturgubus: 736 8 = 111 011 110 = 1 1101 1110 = 1DE 16. Paverskime skaičių C25 16 į aštuntainę sistemą. Pirmiausia skaičius surašome keturiais, o po to nuo galo padalijame juos į tris: C25 16 = 1100 0010 0101 = 110 000 100 101 = 6045 8. Dabar pažiūrėkime, kaip konvertuoti atgal į dešimtainę. Tai nėra sunku, svarbiausia nepadaryti klaidų skaičiavimuose. Išplečiame skaičių į daugianarį su bazės laipsniais ir jų koeficientais. Tada viską padauginame ir pridedame. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688. 732 8 = 7 * 8 2 + 3 * 8 + 2 = 474 .

Neigiamų skaičių konvertavimas

Čia reikia atsižvelgti į tai, kad skaičius bus pateiktas dviejų komplemento kodu. Norėdami konvertuoti skaičių į papildomą kodą, turite žinoti galutinį skaičiaus dydį, tai yra, į ką norime jį sutalpinti – baite, dviem baitais, keturiais. Reikšmingiausias skaičiaus skaitmuo reiškia ženklą. Jei yra 0, tada skaičius yra teigiamas, jei 1, tada jis yra neigiamas. Kairėje pusėje skaičius papildomas ženkliniu skaitmeniu. Mes nelaikome beženklių skaičių, jie visada yra teigiami, o reikšmingiausias bitas juose naudojamas kaip informacija.

Norėdami konvertuoti neigiamą skaičių į dvejetainį papildinį, turite konvertuoti teigiamą skaičių į dvejetainį, tada pakeisti nulius į vienetus, o vienetus - į nulius. Tada prie rezultato pridėkite 1.

Taigi, paverskime skaičių -79 į dvejetainę sistemą. Skaičius užims vieną baitą.

79 konvertuojame į dvejetainę sistemą, 79 = 1001111. Prie baito dydžio pridedame nulius kairėje, 8 bitai, gauname 01001111. 1 keičiame į 0 ir 0 į 1. Gauname 10110000. Prie 1 pridedame Rezultatą gauname atsakymą 10110001. Pakeliui atsakome į vieningo valstybinio egzamino klausimą „kiek vienetų yra dvejetainiame skaičiaus -79 atvaizde? Atsakymas yra 4.

Pridėjus 1 prie atvirkštinio skaičiaus, pašalinamas skirtumas tarp atvaizdų +0 = 00000000 ir -0 = 11111111. Dviejų komplemento kode jie bus parašyti taip pat, kaip 00000000.

Trupmeninių skaičių konvertavimas

Trupmeniniai skaičiai konvertuojami atvirkštiniu būdu sveikuosius skaičius dalijant iš bazės, į kurią žiūrėjome pačioje pradžioje. Tai yra, naudojant nuoseklųjį dauginimą iš naujos bazės su ištisų dalių rinkimu. Daugybos metu gautos sveikosios dalys yra renkamos, bet nedalyvauja šiose operacijose. Dauginamos tik trupmenos. Jei pradinis skaičius yra didesnis nei 1, sveikoji ir trupmeninė dalys verčiamos atskirai ir suklijuojamos.

Paverskime skaičių 0,6752 į dvejetainę sistemą.

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

Procesą galima tęsti ilgą laiką, kol trupmeninėje dalyje gausime visus nulius arba bus pasiektas reikiamas tikslumas. Kol kas sustokime ties 6 ženklu.

Pasirodo, 0,6752 = 0,101011.

Jei skaičius buvo 5,6752, tada dvejetainiu būdu jis bus 101,101011.

2.3. Skaičių konvertavimas iš vienos skaičių sistemos į kitą

2.3.1. Sveikųjų skaičių konvertavimas iš vienos skaičių sistemos į kitą

Galima suformuluoti sveikųjų skaičių konvertavimo iš radikso sistemos algoritmą p į sistemą su pagrindu q :

1. Išreikškite naujos skaičių sistemos pagrindą skaičiais iš pradinės skaičių sistemos ir atlikite visus tolesnius veiksmus pradinėje skaičių sistemoje.

2. Duotąjį skaičių ir gautus sveikuosius dalinius nuosekliai padalinkite iš naujos skaičių sistemos pagrindo, kol gausime koeficientą, mažesnį už daliklį.

3. Gautos liekanos, kurios yra naujosios skaičių sistemos skaičiaus skaitmenys, suderinamos pagal naujosios skaičių sistemos abėcėlę.

4. Sudarykite skaičių naujoje skaičių sistemoje, pradėdami nuo paskutinės liekanos.

2.12 pavyzdys. Konvertuokite dešimtainį skaičių 173 10 į aštuntainių skaičių sistemą:

Gauname: 173 10 = 255 8

2.13 pavyzdys. Paverskite dešimtainį skaičių 173 10 į šešioliktainę skaičių sistemą:

Gauname: 173 10 = 16 AD.

2.14 pavyzdys. Paverskite dešimtainį skaičių 11 10 į dvejetainę skaičių sistemą. Aukščiau aptartą veiksmų seką (vertimo algoritmą) patogiau pavaizduoti taip:

Gauname: 11 10 = 1011 2.

2.15 pavyzdys. Kartais patogiau vertimo algoritmą užrašyti lentelės forma. Paverskime dešimtainį skaičių 363 10 į dvejetainį skaičių.

Skirstytuvas

Gauname: 363 10 =101101011 2

2.3.2. Trupmeninių skaičių konvertavimas iš vienos skaičių sistemos į kitą

Galima suformuluoti tinkamos trupmenos konvertavimo su baze algoritmą p į trupmeną su pagrindu q:

1. Išreikškite naujos skaičių sistemos pagrindą skaičiais iš pradinės skaičių sistemos ir atlikite visus tolesnius veiksmus pradinėje skaičių sistemoje.

2. Duotus skaičius ir gautas sandaugų trupmenines dalis nuosekliai dauginkite iš naujos sistemos pagrindo, kol sandaugos trupmeninė dalis taps lygi nuliui arba bus pasiektas reikiamas skaičių vaizdavimo tikslumas.

3. Gautos sveikųjų skaičių dalys, kurios yra skaičiaus skaitmenys naujoje skaičių sistemoje, turėtų būti suderintos su naujosios skaičių sistemos abėcėle.

4. Sudarykite trupmeninę skaičiaus dalį naujoje skaičių sistemoje, pradedant nuo pirmosios sandaugos sveikosios dalies.

2.17 pavyzdys. Konvertuokite skaičių 0,65625 10 į aštuntainių skaičių sistemą.

Gauname: 0,65625 10 =0,52 8

2.17 pavyzdys. Konvertuokite skaičių 0,65625 10 į šešioliktainę skaičių sistemą.

x 16

Gauname: 0.65625 10 =0.A8 1

2.18 pavyzdys. Paverskite dešimtainę trupmeną 0,5625 10 į dvejetainę skaičių sistemą.

x 2

x 2

x 2

x 2

Gauname: 0,5625 10 =0,1001 2

2.19 pavyzdys. Paverskite dešimtainę trupmeną 0,7 10 į dvejetainę skaičių sistemą.

Akivaizdu, kad šis procesas gali tęstis neribotą laiką, suteikdamas vis daugiau naujų ženklų dvejetainio skaičiaus 0,7 10 ekvivalento atvaizde. Taigi keturiais žingsniais gauname skaičių 0,1011 2, o septyniais žingsniais skaičių 0,1011001 2, kuris yra tikslesnis skaičiaus 0,7 10 atvaizdavimas dvejetainėje skaičių sistemoje ir tt Toks nesibaigiantis procesas baigiamas tam tikru žingsniu, kai manoma, kad gautas reikiamas skaičių vaizdavimo tikslumas.

2.3.3. Savavališkų skaičių vertimas

Savavališkų skaičių vertimas, t.y. skaičiai, kuriuose yra sveikasis skaičius ir trupmeninė dalis, atliekami dviem etapais. Sveikoji dalis verčiama atskirai, o trupmeninė dalis – atskirai. Galutiniame gauto skaičiaus įraše sveikoji dalis nuo trupmeninės dalies atskiriama kableliu (tašku).

2.20 pavyzdys. Konvertuokite skaičių 17,25 10 į dvejetainę skaičių sistemą.

Gauname: 17,25 10 = 1001,01 2

2.21 pavyzdys. Konvertuokite skaičių 124,25 10 į aštuntainę sistemą.

Gauname: 124,25 10 = 174,2 8

2.3.4. Skaičių konvertavimas iš 2 bazės į 2 bazę n ir atvirkščiai

Sveikųjų skaičių vertimas. Jei q-arių skaičių sistemos pagrindas yra 2 laipsnis, tada skaičių konvertavimas iš q-arinių skaičių sistemos į 2-ių skaičių sistemą ir atgal gali būti atliekamas pagal paprastesnes taisykles. Norint į skaičių sistemoje įrašyti sveikąjį dvejetainį skaičių, kurio bazė q=2 n, reikia:

1. Padalinkite dvejetainį skaičių iš dešinės į kairę į grupes po n skaitmenų.

2. Jei paskutinėje kairėje grupėje yra mažiau nei n skaitmenų, tada kairėje ją reikia papildyti nuliais iki reikiamo skaitmenų skaičiaus.

2.22 pavyzdys. Skaičius 101100001000110010 2 bus konvertuotas į aštuntųjų skaičių sistemą.

Skaičius iš dešinės į kairę padalijame į triadas ir po kiekvienu užrašome atitinkamą aštuntainį skaitmenį:

Gauname pradinio skaičiaus aštuntainį vaizdą: 541062 8 .

2.23 pavyzdys. Skaičius 1000000000111110000111 2 bus konvertuotas į šešioliktainę skaičių sistemą.

Skaičius iš dešinės į kairę padalijame į tetradas ir po kiekvienu iš jų užrašome atitinkamą šešioliktainį skaitmenį:

Gauname šešioliktainį pradinio skaičiaus vaizdą: 200F87 16.

Trupmeninių skaičių konvertavimas. Norint parašyti trupmeninį dvejetainį skaičių skaičių sistemoje, kurios bazė q=2 n, reikia:

1. Padalinkite dvejetainį skaičių iš kairės į dešinę į grupes po n skaitmenų.

2. Jei paskutinėje dešinėje grupėje yra mažiau nei n skaitmenų, tada ją reikia papildyti dešinėje nuliais iki reikiamo skaitmenų skaičiaus.

3. Laikykite kiekvieną grupę n bitų dvejetainiu skaičiumi ir įrašykite jį su atitinkamu skaitmeniu skaičių sistemoje, kurios pagrindas q=2 n.

2.24 pavyzdys. Skaičius 0,10110001 2 bus konvertuotas į aštuntųjų skaičių sistemą.

Skaičius iš kairės į dešinę padalijame į triadas ir po kiekvienu užrašome atitinkamą aštuntainį skaitmenį:

Gauname pradinio skaičiaus aštuntainį vaizdą: 0,542 8 .

2.25 pavyzdys. Skaičius 0,100000000011 2 bus konvertuotas į šešioliktainę skaičių sistemą. Skaičius iš kairės į dešinę padalijame į tetradas ir po kiekvienu iš jų užrašome atitinkamą šešioliktainį skaitmenį:

Gauname šešioliktainį pradinio skaičiaus vaizdą: 0,803 16

Savavališkų skaičių vertimas. Norint į skaičių sistemoje įrašyti savavališką dvejetainį skaičių, kurio pagrindas q=2 n, reikia:

1. Duoto dvejetainio skaičiaus sveikąją dalį iš dešinės į kairę, o trupmeninę iš kairės į dešinę padalinkite į grupes po n skaitmenų.

2. Jei paskutinėje kairėje ir (arba) dešinėje grupėse yra mažiau nei n skaitmenų, tada jos kairėje ir (arba) dešinėje turi būti papildytos nuliais iki reikiamo skaitmenų skaičiaus;

3. Laikykite kiekvieną grupę n bitų dvejetainiu skaičiumi ir įrašykite jį su atitinkamu skaitmeniu skaičių sistemoje, kurios bazė q = 2 n

2.26 pavyzdys. Paverskime skaičių 111100101.0111 2 į aštuntainių skaičių sistemą.

Skaičiaus sveikąsias ir trupmenines dalis padalijame į triadas ir po kiekviena užrašome atitinkamą aštuntainį skaitmenį:

Gauname pradinio skaičiaus aštuntainį vaizdą: 745.34 8 .

2.27 pavyzdys. Skaičius 11101001000,11010010 2 bus konvertuotas į šešioliktainę skaičių sistemą.

Skaičiaus sveikąsias ir trupmenines dalis padalijame į sąsiuvinius ir po kiekvienu užrašome atitinkamą šešioliktainį skaitmenį:

Gauname šešioliktainį pradinio skaičiaus vaizdą: 748,D2 16.

Skaičių konvertavimas iš skaičių sistemų, kurių bazė q=2n į dvejetainį. Norint paversti savavališką skaičių, užrašytą skaičių sistemoje su baze q=2 n, į dvejetainę skaičių sistemą, reikia pakeisti kiekvieną šio skaičiaus skaitmenį jo n skaitmens atitikmeniu dvejetainėje skaičių sistemoje.

2.28 pavyzdys.Paverskime šešioliktainį skaičių 4AC35 16 į dvejetainę skaičių sistemą.

Pagal algoritmą:

Gauname: 1001010110000110101 2 .

Savarankiško atlikimo užduotys (atsakymai)

2.38. Užpildykite lentelę, kurios kiekvienoje eilutėje turi būti įrašytas tas pats sveikasis skaičius skirtingomis skaičių sistemomis.

Dvejetainis

aštuntainis

Dešimtainė

Šešioliktainis

2.39. Užpildykite lentelę, kurios kiekvienoje eilutėje skirtingomis skaičių sistemomis turi būti įrašytas tas pats trupmeninis skaičius.

Dvejetainis

aštuntainis

Dešimtainė

Šešioliktainis

2.40. Užpildykite lentelę, kurios kiekvienoje eilutėje skirtingomis skaičių sistemomis turi būti įrašytas tas pats savavališkas skaičius (skaičiuje gali būti ir sveikasis skaičius, ir trupmeninė dalis).

Dvejetainis

aštuntainis

Dešimtainė

Šešioliktainis

59.B

1 pastaba

Jei norite konvertuoti skaičių iš vienos skaičių sistemos į kitą, tada patogiau pirmiausia konvertuoti į dešimtainę skaičių sistemą, o tik tada konvertuoti iš dešimtainės skaičių sistemos į bet kurią kitą skaičių sistemą.

Skaičių konvertavimo iš bet kurios skaičių sistemos į dešimtainę taisyklės

Skaičiavimo technologijoje, kurioje naudojama mašininė aritmetika, skaičių konvertavimas iš vienos skaičių sistemos į kitą vaidina svarbų vaidmenį. Žemiau pateikiame pagrindines tokių transformacijų (vertimų) taisykles.

    Konvertuojant dvejetainį skaičių į dešimtainį, dvejetainį skaičių reikia pavaizduoti kaip daugianarį, kurio kiekvienas elementas pavaizduotas kaip skaičiaus skaitmens ir atitinkamos bazinio skaičiaus laipsnio sandauga, šiuo atveju $2$, ir tada reikia apskaičiuoti daugianarį pagal dešimtainės aritmetikos taisykles:

    $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 $

1 pav. 1 lentelė

1 pavyzdys

Konvertuokite skaičių $11110101_2$ į dešimtainę skaičių sistemą.

Sprendimas. Naudodami pateiktą bazinio $2$ laipsnių $1$ lentelę, skaičių pavaizduojame kaip daugianarį:

11110101_2 USD = 1 \ctaškas 27 + 1 \ctaškas 26 + 1 \ctaškas 25 + 1 \ctaškas 24 + 0 \ctaškas 23 + 1 \ctaškas 22 + 0 \ctaškas 21 + 1 \ctaškas 20 = 12 +3 + 2 + 0 + 4 + 0 + 1 = 245_(10)$

    Norėdami konvertuoti skaičių iš aštuntainių skaičių sistemos į dešimtainę skaičių sistemą, turite jį pavaizduoti kaip daugianarį, kurio kiekvienas elementas yra pavaizduotas kaip skaičiaus skaitmens ir atitinkamos bazinio skaičiaus laipsnio sandauga. atvejis $8$, tada reikia apskaičiuoti daugianarį pagal dešimtainės aritmetikos taisykles:

    $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 $

2 pav. 2 lentelė

2 pavyzdys

Konvertuokite skaičių $75013_8$ į dešimtainę skaičių sistemą.

Sprendimas. Naudodami pateiktą bazinio $8$ laipsnių $2$ lentelę, skaičių pavaizduojame kaip daugianarį:

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

    Norėdami konvertuoti skaičių iš šešioliktainės į dešimtainę, turite jį pavaizduoti kaip daugianarį, kurio kiekvienas elementas yra pavaizduotas kaip skaičiaus skaitmens ir atitinkamos bazinio skaičiaus galios sandauga, šiuo atveju $16 $, ir tada reikia apskaičiuoti daugianarį pagal dešimtainės aritmetikos taisykles:

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

3 pav. 3 lentelė

3 pavyzdys

Konvertuokite skaičių $FFA2_(16)$ į dešimtainę skaičių sistemą.

Sprendimas. Naudodami pateiktą bazinio $8$ laipsnių lentelę $3$, skaičių pavaizduojame kaip daugianarį:

FFA2_(16) USD

Skaičių konvertavimo iš dešimtainės skaičių sistemos į kitą taisyklės

  • Norint konvertuoti skaičių iš dešimtainės skaičių sistemos į dvejetainę sistemą, jis turi būti nuosekliai padalintas iš $2 $, kol liekana yra mažesnė arba lygi $1 $. Skaičius dvejetainėje sistemoje vaizduojamas kaip paskutinio padalijimo rezultato ir dalybos likučių seka atvirkštine tvarka.

4 pavyzdys

Konvertuokite skaičių $22_(10)$ į dvejetainę skaičių sistemą.

Sprendimas:

4 pav.

$22_{10} = 10110_2$

  • Norint konvertuoti skaičių iš dešimtainių skaičių sistemos į aštuntųjų skaičių sistemą, jis turi būti paeiliui padalytas iš 8 USD, kol lieka mažiau nei 7 USD arba lygi. Skaičius aštuntųjų skaičių sistemoje vaizduojamas kaip paskutinio padalijimo rezultato skaitmenų seka ir dalybos likučiai atvirkštine tvarka.

5 pavyzdys

Konvertuokite skaičių $571_(10)$ į aštuntainių skaičių sistemą.

Sprendimas:

5 pav.

$571_{10} = 1073_8$

  • Norint konvertuoti skaičių iš dešimtainės skaičių sistemos į šešioliktainę sistemą, jis turi būti padalytas iš 16 USD, kol liekana yra mažesnė arba lygi 15 USD. Skaičius šešioliktainėje sistemoje vaizduojamas kaip paskutinio padalijimo rezultato skaitmenų seka ir dalybos likučiai atvirkštine tvarka.

6 pavyzdys

Konvertuokite skaičių $7467_(10)$ į šešioliktainę skaičių sistemą.

Sprendimas:

6 pav.

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

    Norint paversti tinkamą trupmeną iš dešimtainės skaičių sistemos į ne dešimtainę skaičių sistemą, reikia nuosekliai padauginti trupmeninę konvertuojamo skaičiaus dalį iš sistemos, į kurią ją reikia konvertuoti, bazės. Naujoje sistemoje trupmenos bus vaizduojamos kaip visos produktų dalys, pradedant nuo pirmosios.

    Pavyzdžiui: $0.3125_((10))$ aštuntainių skaičių sistemoje atrodys kaip $0.24_((8))$.

    Tokiu atveju galite susidurti su problema, kai baigtinė dešimtainė trupmena gali atitikti begalinę (periodinę) trupmeną ne dešimtainėje skaičių sistemoje. Tokiu atveju naujojoje sistemoje vaizduojamos trupmenos skaitmenų skaičius priklausys nuo reikiamo tikslumo. Taip pat reikėtų pažymėti, kad sveikieji skaičiai išlieka sveikaisiais skaičiais, o tinkamos trupmenos išlieka trupmenomis bet kurioje skaičių sistemoje.

Skaičių konvertavimo iš dvejetainės skaičių sistemos į kitą taisyklės

  • Norėdami konvertuoti skaičių iš dvejetainės skaičių sistemos į aštuontainį, jis turi būti padalintas į triadas (skaitmenų trigubas), pradedant nuo mažiausiai reikšmingo skaitmens, jei reikia, pridedant nulius prie pirmaujančios triados, tada kiekvieną triadą pakeiskite atitinkamu aštuntainiu skaitmeniu. pagal 4 lentelę.

7 pav. 4 lentelė

7 pavyzdys

Konvertuokite skaičių $1001011_2$ į aštuntainių skaičių sistemą.

Sprendimas. Naudodami 4 lentelę konvertuojame skaičių iš dvejetainės skaičių sistemos į aštuntainį:

$001 001 011_2 = 113_8$

  • Norėdami konvertuoti skaičių iš dvejetainės skaičių sistemos į šešioliktainį, jį reikia padalyti į tetradas (keturis skaitmenys), pradedant nuo mažiausiai reikšmingo skaitmens, jei reikia, pridedant nulius prie reikšmingiausios tetrados, tada kiekvieną tetradą pakeiskite atitinkamu aštuntainiu skaitmeniu. pagal 4 lentelę.

Šiame straipsnyje papasakosiu kompiuterinių technologijų pagrindus – tai dvejetainė sistema. Tai yra žemiausias lygis, tai yra skaičiai, pagal kuriuos veikia kompiuteris. Ir jūs išmoksite perkelti iš vienos sistemos

1 lentelė – Skaičių vaizdavimas įvairiose sistemose
skaičiavimas (pradžia)

Skaičių sistemos

Dešimtainė

Dvejetainis

aštuntainis

Šešioliktainis

BCD

Norėdami konvertuoti iš dešimtainio į dvejetainį, turite dvi parinktis.

1) Pavyzdžiui, skaičių 37 reikia konvertuoti iš dešimtainės sistemos į dvejetainę sistemą, tada reikia padalyti iš dviejų ir patikrinti likusią padalijimo dalį. Jei liekana yra nelyginė, tada rašome vieną apačioje, o kitas dalybos ciklas eina per lyginį skaičių, jei dalybos liekana yra lyginė, tada rašome nulį. Pabaigoje turite gauti 1. O dabar gautą rezultatą paverčiame dvejetainiu, o skaičius eina iš dešinės į kairę.

Žingsnis po žingsnio: 37 yra nelyginis skaičius, o tai reiškia 1 , tada 36/2 = 18. Skaičius lyginis, o tai reiškia 0. 18/2 = 9 yra nelyginis skaičius, o tai reiškia 1 , tada 8/2 = 4. Skaičius lyginis, skaitykite 0. 4/2 = 2, lyginis skaičius reiškia 0, 2/2 = 1.

Taigi mes gavome numerį. Nepamirškite skaičiuoti iš dešinės į kairę: 100101 – dabar turime skaičių dvejetainėje sistemoje. Paprastai tai rašoma kaip padalijimas stulpelyje, kaip matote toliau pateiktame paveikslėlyje:

2) Bet yra ir antras būdas. Man jis labiau patinka. Perkėlimas iš vienos sistemos į kitą yra toks:

kur ai yra i-tas skaičiaus skaitmuo;
k - skaitmenų skaičius trupmeninėje skaičiaus dalyje;
m - skaitmenų skaičius sveikojoje skaičiaus dalyje;
N yra skaičių sistemos pagrindas.

Skaičių sistemos N bazė rodo, kiek kartų i-ojo skaitmens "svoris" yra didesnis už skaitmens "svorį" (i-1). Sveikoji skaičiaus dalis nuo trupmeninės atskiriama tašku (kableliu).

Sveikoji skaičiaus AN1 dalis su baze N1 konvertuojama į skaičių sistemą su baze N2 nuosekliai padalijus sveikąją skaičiaus AN1 dalį iš bazės N2, parašytos kaip skaičius su baze N1, kol gaunama liekana. Gauta dalis vėl padalijama iš pagrindo N2, ir šis procesas turi kartotis tol, kol dalelė tampa mažesnė už daliklį. Gautos dalybos likučiai ir paskutinė dalis rašomi atvirkštine tvarka, gauta dalijant. Sugeneruotas skaičius bus sveikasis skaičius su baze N2.

Skaičiaus AN1 trupmeninė dalis su baze N1 paverčiama skaičių sistema su baze N2, nuosekliai padauginus trupmeninę skaičiaus AN1 dalį iš bazės N2, parašytos kaip skaičius su baze N1. Kiekvieną kartą dauginant sveikoji sandaugos dalis paimama kaip kitas atitinkamo skaitmens skaitmuo, o likusios trupmeninė dalis laikoma nauja daugyba. Padauginimų skaičius lemia gauto rezultato skaitmenų talpą, reprezentuojančią trupmeninę skaičiaus AN1 dalį N2 skaičių sistemoje. Trupmeninė skaičiaus dalis dažnai verčiama netiksliai.

Padarykime tai su pavyzdžiu:

Konvertuoti iš dešimtainio į dvejetainį

37 dešimtainis turi būti konvertuojamas į dvejetainį. Dirbkime su laipsniais:

2 0 = 1
2 1 = 2
2 2 = 4
2 3 = 8
2 4 = 16
2 5 = 32
2 6 = 64
2 7 = 128
2 8 = 256
2 9 = 512
2 10 = 1024 ir taip toliau... iki begalybės

Tai reiškia: 37 - 32 = 5. 5 - 4 = 1. Dvejetainis atsakymas yra toks: 100101.

Paverskime skaičių 658 iš dešimtainio į dvejetainį:

658-512=146
146-128=18
18-16=2. Dvejetainėje sistemoje skaičius atrodys taip: 1010010010.

Konvertavimas iš dešimtainio į aštuntainį

Jei reikia konvertuoti iš dešimtainio į aštuntainį, pirmiausia turite konvertuoti į dvejetainį skaičių, o tada konvertuoti iš dvejetainio į aštuntainį. Tai yra, taip lengviau, nors galite išversti iš karto. Naudodami algoritmą, panašų į konvertavimo į dvejetainį algoritmą, žr. aukščiau.

Konvertuoti iš dešimtainės į šešioliktainę

Jei jums reikia konvertuoti iš dešimtainės į šešioliktainę, pirmiausia turite konvertuoti į dvejetainę, o tada konvertuoti iš dvejetainės į šešioliktainę. Tai yra, taip lengviau, nors galite išversti iš karto. Naudodami algoritmą, panašų į konvertavimo į dvejetainį algoritmą, žr. aukščiau.

Konvertavimas iš dvejetainio į aštuntainį

Norėdami konvertuoti skaičių iš dvejetainio į aštuntainį, turite padalyti dvejetainį skaičių į tris skaičius.

Pavyzdžiui, gautas skaičius 1010010010 yra padalintas į tris skaičius, o padalijimas vyksta iš dešinės į kairę: 1 010 010 010 = 1222. Lentelę žr. pačioje pradžioje.

Konvertavimas iš dvejetainio į šešioliktainį

Norėdami konvertuoti skaičių iš dvejetainio į šešioliktainį, turite jį padalyti į tetradas (po keturias)

10 1001 0010 = 292

Štai keli pavyzdžiai, kuriuos galite peržiūrėti:

Konvertuojama iš dvejetainės į aštuntainę, tada į šešioliktainę, o tada iš dvejetainės į dešimtainę

(2) = 11101110
(8) = 11 101 110 = 276
(16) = 1110 1110 = EE
(10) = 1*128+ 1*64+ 1*32+ 0 +1*8 + 1*4 + 1*2+ 0= 238
3) (8) = 657

Konvertuojama iš šešioliktainės į dvejetainę, tada į aštuntainę, o tada iš dvejetainės į dešimtainę

(16) = 6E8
(2) = 110 1110 1000
(8) = 11 011 101 000 = 2250
(10) = 1*1024+1*512+ 0 +1*128+ 1*64+ 1*32+ 8 = 1768

Paslaugos paskirtis. Paslauga skirta konvertuoti skaičius iš vienos skaičių sistemos į kitą internete. Norėdami tai padaryti, pasirinkite sistemos, iš kurios norite konvertuoti skaičių, bazę. Kableliais galite įvesti ir sveikuosius skaičius, ir skaičius.

Skaičius

Konvertavimas iš 10 2 8 16 skaičių sistemos. Konvertuoti į 2 10 8 16 skaičių sistemą.
Trupmeniniams skaičiams naudokite 2 3 4 5 6 7 8 skaitmenis po kablelio.

Galite įvesti ir sveikuosius skaičius, pavyzdžiui, 34, ir trupmeninius skaičius, pavyzdžiui, 637,333. Trupmeninių skaičių atveju nurodomas vertimo tikslumas po kablelio.

Su šiuo skaičiuotuvu taip pat naudojami šie dalykai:

Skaičių vaizdavimo būdai

Dvejetainis (dvejetainiai) skaičiai - kiekvienas skaitmuo reiškia vieno bito reikšmę (0 arba 1), kairėje visada rašomas reikšmingiausias bitas, po skaičiaus dedama raidė „b“. Kad būtų lengviau suvokti, sąsiuvinius galima atskirti tarpais. Pavyzdžiui, 1010 0101b.
Šešioliktainis (šešioliktainiai) skaičiai – kiekviena tetrada vaizduojama vienu simboliu 0...9, A, B, ..., F. Šis vaizdavimas gali būti žymimas įvairiais būdais skaitmenų. Pavyzdžiui, A5h. Programų tekstuose tas pats skaičius gali būti pažymėtas kaip 0xA5 arba 0A5h, priklausomai nuo programavimo kalbos sintaksės. Reikšmingiausio šešioliktainio skaitmens, kurį žymi raidė, kairėje pridedamas priešakinis nulis (0), kad būtų galima atskirti skaičius ir simbolinius pavadinimus.
Dešimtainė (dešimtainiai) skaičiai – kiekvienas baitas (žodis, dvigubas žodis) vaizduojamas įprastu skaičiumi, o dešimtainio vaizdavimo ženklas (raidė „d“) paprastai praleidžiamas. Ankstesniuose pavyzdžiuose pateikto baito dešimtainė reikšmė yra 165. Skirtingai nuo dvejetainių ir šešioliktainių ženklų, dešimtainės dalies sunku mintyse nustatyti kiekvieno bito reikšmę, o tai kartais būtina.
aštuntainis (aštuontainiai) skaičiai - kiekvienas bitų trigubas (dalyba prasideda nuo mažiausiai reikšmingo) rašomas kaip skaičius nuo 0 iki 7, o pabaigoje yra „o“. Tas pats skaičius būtų parašytas kaip 245o. Aštuontainė sistema yra nepatogi, nes baitas negali būti padalintas po lygiai.

Skaičių konvertavimo iš vienos skaičių sistemos į kitą algoritmas

Visi dešimtainiai skaičiai konvertuojami į bet kurią kitą skaičių sistemą, skaičių dalijant iš naujos skaičių sistemos pagrindo, kol liekana lieka mažesniu skaičiumi nei naujosios skaičių sistemos bazė. Naujas skaičius rašomas kaip padalijimo likučiai, pradedant nuo paskutinio.
Įprastos dešimtainės trupmenos konvertavimas į kitą PSS atliekamas tik trupmeninę skaičiaus dalį padauginus iš naujos skaičių sistemos pagrindo, kol trupmeninėje dalyje liks visi nuliai arba kol pasiekiamas nurodytas vertimo tikslumas. Po kiekvienos daugybos operacijos susidaro vienas naujo skaičiaus skaitmuo, pradedant nuo didžiausio.
Netinkamas trupmenų vertimas atliekamas pagal 1 ir 2 taisykles. Sveikoji ir trupmeninė dalys rašomos kartu, atskirtos kableliu.

1 pavyzdys.



Konvertavimas iš 2 į 8 į 16 skaičių sistemą.
Šios sistemos yra dviejų kartotiniai, todėl vertimas atliekamas naudojant atitikmenų lentelę (žr. toliau).

Norint konvertuoti skaičių iš dvejetainės skaičių sistemos į aštuntainę (šešioliktainę) skaičių sistemą, dvejetainį skaičių nuo kablelio į dešinę ir į kairę reikia padalyti į trijų (šešioliktainių) skaitmenų grupes, papildant išorines grupes. jei reikia, su nuliais. Kiekviena grupė pakeičiama atitinkamu aštuntainiu arba šešioliktainiu skaitmeniu.

2 pavyzdys. 1010111010.1011 = 1.010.111.010.101.1 = 1272.51 8
čia 001=1; 010=2; 111=7; 010=2; 101=5; 001=1

Konvertuodami į šešioliktainę sistemą, turite padalyti skaičių į keturių skaitmenų dalis, vadovaudamiesi tomis pačiomis taisyklėmis.
3 pavyzdys. 1010111010,1011 = 10.1011.1010,1011 = 2B12,13 HEX
čia 0010=2; 1011=B; 1010=12; 1011=13

Skaičių iš 2, 8 ir 16 konvertavimas į dešimtainę sistemą atliekamas skaičių suskaidant į atskirus ir padauginus iš sistemos bazės (iš kurios verčiamas skaičius), pakeltos iki laipsnio, atitinkančio jo eilės numerį konvertuojamas skaičius. Šiuo atveju skaičiai numeruojami kairėje nuo kablelio (pirmasis skaičius yra 0) didėjant, o dešinėje - mažėjant (t. y. su neigiamu ženklu). Gauti rezultatai sumuojami.

4 pavyzdys.
Konvertavimo iš dvejetainės į dešimtainę skaičių sistemos pavyzdys.

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 Konvertavimo iš aštuntainės į dešimtainę skaičių sistemos pavyzdys. 108,5 8 = 1*·8 2 +0·8 1 +8·8 0 + 5·8 -1 = 64+0+8+0,625 = 72,625 10 Šešioliktainės skaičių sistemos konvertavimo į dešimtainę pavyzdys. 108,5 16 = 1,16 2 +0,16 1 +8,16 0 + 5,16 -1 = 256 + 0 + 8 + 0,3125 = 264,3125 10

Dar kartą pakartojame skaičių konvertavimo iš vienos skaičių sistemos į kitą PSS algoritmą

  1. Iš dešimtainių skaičių sistemos:
    • skaičių padalinkite iš verčiamos skaičių sistemos pagrindo;
    • dalijant sveikąją skaičiaus dalį rasti likutį;
    • surašykite visus dalybos likučius atvirkštine tvarka;
  2. Iš dvejetainių skaičių sistemos
    • Norint konvertuoti į dešimtainę skaičių sistemą, reikia rasti 2 bazės sandaugų sumą pagal atitinkamą skaitmens laipsnį;
    • Norėdami konvertuoti skaičių į aštuntąją, turite suskaidyti skaičių į triadas.
      Pavyzdžiui, 1000110 = 1 000 110 = 106 8
    • Norėdami konvertuoti skaičių iš dvejetainio į šešioliktainį, turite skaičių padalyti į 4 skaitmenų grupes.
      Pavyzdžiui, 1000110 = 100 0110 = 46 16
Sistema vadinama pozicine, kuriam skaitmens reikšmė arba svoris priklauso nuo jo vietos skaičiuje. Santykis tarp sistemų išreiškiamas lentele.
Skaičių sistemos atitikmenų lentelė:
Dvejetainis SSŠešioliktainis 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

Lentelė konvertavimui į aštuntainių skaičių sistemą