Metodes skaitļu pārvēršanai no vienas skaitļu sistēmas citā. Skaitļu tulkošana no vienas skaitļu sistēmas citā Skaitļu tulkošana no noteiktas sistēmas citā

Lai skaitļus tulkotu no vienas skaitļu sistēmas citā, ir nepieciešamas pamatzināšanas par skaitļu sistēmām un skaitļu attēlojuma formu tajās.

Daudzums s dažādu ciparu sistēmā izmantoto ciparu skaitu sauc par bāzi vai skaitļu sistēmas bāzi. Kopumā pozitīvs skaitlis X pozicionālā sistēmā ar pamatni s var attēlot kā polinomu:

Kur s- skaitļu sistēmas bāze, - šajā skaitļu sistēmā atļautie cipari. Secība veido veselu skaitļa daļu X, un secība ir daļēja daļa X.

IN datorzinātne visplašāk lietotās ir binārās (BIN – binārās) un binārās kodētās skaitļu sistēmas: oktālais (OCT – oktāls), heksadecimālais (HEX – heksadecimālais) un bināri kodētais decimālais (BCD – bināri kodētais decimālskaitlis).

Turpmāk, lai norādītu izmantoto skaitļu sistēmu, skaitlis tiks likts iekavās, un sistēmas bāze tiks norādīta rādītājā. Numurs X saprāta dēļ s tiks atzīmēts.

Binārā skaitļu sistēma

Skaitļu sistēmas bāze ir skaitlis 2 ( s= 2) un skaitļu rakstīšanai tiek izmantoti tikai divi cipari: 0 un 1. Lai attēlotu jebkuru bināra skaitļa bitu, pietiek ar fizisku elementu ar diviem skaidri atšķirīgiem stabiliem stāvokļiem, no kuriem viens apzīmē 1 un otrs 0 .

Pirms sākat tulkot no jebkuras skaitļu sistēmas uz bināro, jums rūpīgi jāizpēta skaitļa rakstīšanas piemērs binārajā skaitļu sistēmā:

Ja jums nav jāiedziļinās teorijā, bet tikai jāiegūst rezultāts, tad izmantojiet Tiešsaistes kalkulators Veselu skaitļu konvertēšana no decimālskaitļa uz citām sistēmām .

Oktālo un heksadecimālo skaitļu sistēmas

Šīs skaitļu sistēmas ir bināri kodētas, kurās skaitļu sistēmas bāze ir vesels skaitlis divi: - oktālam un - heksadecimālam.

Astotnieku skaitļu sistēmā ( s= 8) Tiek izmantoti 8 cipari: 0, 1, 2, 3, 4, 5, 6, 7.

Pirms sākat tulkot no jebkuras skaitļu sistēmas uz oktālu, jums rūpīgi jāizpēta skaitļa rakstīšanas oktālā piemērs:

Heksadecimālajā skaitļu sistēmā ( s= 16) Tiek izmantoti 16 cipari: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Piemērs skaitļa rakstīšanai heksadecimālajā sistēmā:

Astoņtālo un heksadecimālo skaitļu sistēmu plašā izmantošana ir saistīta ar diviem faktoriem.

Pirmkārt, šīs sistēmas ļauj aizstāt bināra skaitļa apzīmējumu ar kompaktāku attēlojumu (skaitļa apzīmējums oktālajā un heksadecimālajā sistēmā būs attiecīgi 3 un 4 reizes īsāks nekā šī skaitļa binārais apzīmējums). Otrkārt, savstarpēja skaitļu pārvēršana starp bināro sistēmu, no vienas puses, un oktālo un heksadecimālo, no otras puses, ir salīdzinoši vienkārša. Patiešām, tā kā oktālajam skaitlim katrs cipars tiek attēlots ar trīs bināro ciparu (triādes) grupu, bet heksadecimālajam skaitlim - ar četru bināro ciparu (tetradu) grupu, tad, lai pārvērstu bināro skaitli, pietiek ar apvienojiet tā ciparus attiecīgi 3 vai 4 ciparu grupās, virzoties uz priekšu no atdalošā komata pa labi un pa kreisi. Šajā gadījumā, ja nepieciešams, pa kreisi no veselās skaitļa daļas un/vai pa labi no daļdaļas pievieno nulles, un katra šāda grupa - triāde vai tetrada - tiek aizstāta ar līdzvērtīgu oktālo vai heksadecimālo ciparu (sk. tabula).

Ja jums nav jāiedziļinās teorijā, bet tikai jāiegūst rezultāts, tad izmantojiet Tiešsaistes kalkulators Veselu skaitļu konvertēšana no decimālskaitļa uz citām sistēmām .

Ciparu atbilstība dažādās skaitļu sistēmās
DEC BIN OCT HEX BCD
0 0000 0 0 0000
1 0001 1 1 0001
2 0010 2 2 0010
3 0011 3 3 0011
4 0100 4 4 0100
5 0101 5 5 0101
6 0110 6 6 0110
7 0111 7 7 0111
8 1000 10 8 1000
9 1001 11 9 1001
10 1010 12 A 0001 0000
11 1011 13 B 0001 0001
12 1100 14 C 0001 0010
13 1101 15 D 0001 0011
14 1110 16 E 0001 0100
15 1111 17 F 0001 0101

Reversai tulkošanai katrs OCT vai HEX cipars tiek aizstāts ar attiecīgi bināro ciparu triādi vai tetradi, atmetot nenozīmīgas nulles kreisajā un labajā pusē.

Iepriekšējiem piemēriem tas izskatās šādi:

Ja jums nav jāiedziļinās teorijā, bet tikai jāiegūst rezultāts, tad izmantojiet Tiešsaistes kalkulators Veselu skaitļu konvertēšana no decimālskaitļa uz citām sistēmām .

Binārā decimālo skaitļu sistēma

BCD katra cipara svars ir 10, tāpat kā decimāldaļā, un katrs decimālais cipars ir kodēts ar četriem bināriem cipariem. Par ierakstu decimālskaitlis BCD sistēmā ir pietiekami aizstāt katru decimālciparu ar līdzvērtīgu četrciparu bināro kombināciju:

Jebkuru decimālo skaitli var attēlot bināri kodētā decimāldaļā, taču atcerieties, ka tas nav skaitļa binārais ekvivalents. To var redzēt no šāda piemēra:

Skaitļu pārvēršana no vienas skaitļu sistēmas citā

Ļaujiet X- skaitlis skaitļu sistēmā ar bāzi s, kas ir jāatspoguļo sistēmā ar bāzi h. Ir ērti atšķirt divus gadījumus.

Pirmajā gadījumā un līdz ar to pārejot uz bāzi h varat izmantot šīs sistēmas aritmētiku. Transformācijas metode sastāv no skaitļa attēlošanas kā polinomu pakāpēs s, kā arī šī polinoma aprēķināšanā pēc skaitļu sistēmas ar bāzi aritmētikas likumiem h. Tātad, piemēram, ir ērti pāriet no bināro vai oktālo skaitļu sistēmas uz decimālo skaitļu sistēmu. Aprakstītā tehnika ir ilustrēta ar šādiem piemēriem:

.

.

Abos gadījumos aritmētiskās darbības tiek veiktas pēc skaitļu sistēmas noteikumiem ar bāzi 10.

Otrajā gadījumā () ērtāk ir izmantot bāzes aritmētiku s. Šeit jāpatur prātā, ka veselo skaitļu un pareizu daļu tulkošana tiek veikta saskaņā ar dažādi noteikumi. Pārsūtot jauktas frakcijas veselo skaitļu un daļskaitļu daļas tiek tulkotas katra saskaņā ar saviem noteikumiem, pēc tam iegūtos skaitļus raksta, atdalot tos ar komatiem.

Veselu skaitļu tulkošana

Veselu skaitļu tulkošanas noteikumi kļūst skaidri no vispārējās formulas skaitļa rakstīšanai patvaļīgā pozicionālā sistēmā. Ļaujiet skaitlim sākotnējā skaitļu sistēmā s izskatās kā . Ir nepieciešams iegūt skaitļa ierakstu skaitļu sistēmā ar bāzi h:

.

Lai atrastu vērtības, mēs dalām šo polinomu ar h:

.

Kā redzat, vismazāk nozīmīgais cipars, tas ir, ir vienāds ar pirmo atlikumu. Nākamo zīmīgo ciparu nosaka, dalot koeficientu ar h:

.

Pārējos arī aprēķina, dalot koeficientus, līdz tas kļūst par nulli.

Lai pārvērstu veselu skaitli no s-āru skaitļu sistēmas par h-āru, šis skaitlis un iegūtie koeficienti ir secīgi jādala ar h (saskaņā ar skaitļu sistēmas noteikumiem ar bāzi h), līdz koeficients kļūst nulle . Augstākais cipars skaitļa ierakstā ar bāzi h ir pēdējais atlikums, un tam sekojošie cipari veido atlikumus no iepriekšējiem dalījumiem, kas izrakstīti apgrieztā to saņemšanas secībā.

No 16 vai 8 līdz 2

Tulkošana oktāls Un heksadecimāls cipariem binārajā sistēmāļoti vienkārši: pietiek aizstāt katru ciparu ar līdzvērtīgu bināru triāde(trīs cipari) vai tetrāde(četri cipari) (skatīt tabulu).
Binārais (2. bāze) oktāls (8. bāze) Decimāldaļa (10. bāze) Heksadecimāls (16. bāze)
triādes tetrādes
0 1 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Piemēram:

a) Tulkot 305.4 8 "2" s.s.

b) Tulkot 7B2.E 16 "2" s.s.

16A 16 = 1 0110 1010 2 345 8 = 11 100 101 2

No 2 līdz 16 vai 8

Piemēram:

a) Tulkot 1101111001.1101 2 "8" s.s.

b) Tulkot 11111111011.100111 2 "16" s.s.

1000101010010101 2 =1000 1010 1001 0101=8A95 16 = 1000 101 010 010 101=105225 8

No 16 līdz 8 un atpakaļ

Tulkošana no oktālās sistēmas uz heksadecimālo sistēmu un otrādi tiek veikta, izmantojot bināro sistēmu, izmantojot triādes un tetrades.

Piemēram:

Tulkot 175.24 8 "16" s.s.

Rezultāts: 175,24 8 = 7D,5 16 .

No 10 līdz jebkuram s.s.

Piemēram:

a) Tulkot 181 10 "8" s.s.

Rezultāts: 181 10 = 265 8

b) Tulkot 622 10 "16" s.s.

Rezultāts: 622 10 = 26E 16

Pareizo daļskaitļu tulkošana
Lai pārvērstu pareizu decimāldaļskaitli citā sistēmā, šī daļa ir secīgi jāreizina ar tās sistēmas bāzi, kurā tā tiek pārveidota. Šajā gadījumā tiek reizinātas tikai daļējas daļas. Frakcija iekšā jauna sistēma ir rakstīts veselu darbu daļu veidā, sākot no pirmās.

Piemēram:

Konvertēt 0.3125 10 "8" s.s.

Rezultāts: 0,3125 10 = 0,24 8

komentēt. Galīga decimālā daļa citā skaitļu sistēmā var atbilst bezgalīgai (dažreiz periodiskai) daļai. Šajā gadījumā rakstzīmju skaits daļskaitļa attēlojumā jaunajā sistēmā tiek ņemts atkarībā no nepieciešamās precizitātes.

Piemēram:

Tulkot 0,65 10 "2" s.s. Precizitāte 6 rakstzīmes.

Rezultāts: 0,65 10 0,10(1001) 2

Lai pārvērstu nepareizu decimāldaļskaitli skaitļu sistēmā ar bāzi, kas nav aiz komata ir nepieciešams tulkot visu daļu atsevišķi un daļēju daļu atsevišķi.

Piemēram:

Tulkot 23.125 10 "2" s.s.

Tādējādi: 23 10 = 10111 2; 0,12510 = 0,0012.
Rezultāts: 23,125 10 = 10111,001 2 .

Jāņem vērā, ka veseli skaitļi paliek veseli skaitļi, un pareizās daļdaļas paliek daļskaitļi jebkurā skaitļu sistēmā.

No 2, 8 vai 16 līdz 10

Piemēram:

a)10101101.101 2 = 1 2 7 + 0 2 6 + 1 2 5 + 0 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 1 2 -1 + 0 2 -2 + 1 2 - 3 = 173,625 10

b) Tulkot 703.04 8 "10" s.s.

703.04 8 = 7 8 2 + 0 8 1 + 3 8 0 + 0 8 -1 + 4 8 -2 = 451.0625 10

c) Tulkot B2E.4 16 "10" s.s.

B2E.4 16 = 11 16 2 + 2 16 1 + 14 16 0 + 4 16 -1 = 2862,25 10

Shēma skaitļu pārveidošanai no vienas skaitļu sistēmas citā


Aritmētiskās darbības pozicionālo skaitļu sistēmās

Apsveriet pamata aritmētiskās darbības: saskaitīšanu, atņemšanu, reizināšanu un dalīšanu. Noteikumi šo darbību veikšanai decimālajā sistēmā ir labi zināmi - tā ir saskaitīšana, atņemšana, reizināšana ar kolonnu un dalīšana ar leņķi. Šie noteikumi attiecas uz visām pārējām pozicionālo skaitļu sistēmām. Katrai sistēmai jāizmanto tikai saskaitīšanas un reizināšanas tabulas.

Papildinājums

Saskaitot, skaitļi tiek summēti ar cipariem, un, ja rodas pārsniegums, tas tiek pārsūtīts pa kreisi

Saskaitot bināros skaitļus katrā ciparā, tiek pievienoti terminu cipari un pārskaitījums no blakus esošā zemas kārtas cipara, ja tāds ir. Jāņem vērā, ka 1 + 1 dod nulli dotajā bitā un vienību pārsūtīšanai uz nākamo.

Piemēram:

Veiciet bināro pievienošanu:
a) X = 1101, Y = 101;

Rezultāts 1101+101=10010.

b) X = 1101, Y = 101, Z = 111;

Rezultāts 1101+101+111=11001.

Saskaitīšanas tabula 8. skaitļu sistēmā

2+2=4 3+2=5 4+2=6 5+2=7 6+2=10 7+2=11
2+3=5 3+3=6 4+3=7 5+3=10 6+3=11 7+3=12
2+4=6 3+4=7 4+4=10 5+4=11 6+4=12 7+4=13
2+5=7 3+5=10 4+5=11 5+5=12 6+5=13 7+5=14
2+6=10 3+6=11 4+6=12 5+6=13 6+6=14 7+6=15
2+7=11 3+7=12 4+7=13 5+7=14 6+7=15 7+7=16

Saskaitīšanas tabula 16. skaitļu sistēmā

+ A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A A B C D E F
B B C D E F 1A
C C D E F 1A 1B
D D E F 1A 1B 1C
E E F 1A 1B 1C 1D
F F 1A 1B 1C 1D 1E

Kalkulators ļauj pārvērst veselus un daļskaitļus no vienas skaitļu sistēmas citā. Ciparu sistēmas bāze nedrīkst būt mazāka par 2 un lielāka par 36 (galu galā 10 cipari un 26 latīņu burti). Cipari nedrīkst pārsniegt 30 rakstzīmes. Ievadīšanai daļskaitļi izmantot simbolu. vai, . Lai konvertētu skaitļus no vienas sistēmas uz citu, pirmajā laukā ievadiet sākotnējo skaitli, otrajā laukā - sākotnējās skaitļu sistēmas bāzi un trešajā laukā tās skaitļu sistēmas bāzi, kurā vēlaties konvertēt skaitli, pēc tam noklikšķiniet uz pogas "Saņemt ierakstu".

oriģinālais numurs ierakstīts 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 36 35 - skaitļu sistēma.

Es gribu ierakstīt skaitļa ierakstu 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 - skaitļu sistēma.

Iegūstiet ierakstu

Tulkojumi pabeigti: 3336969

Tas var arī interesēt:

  • Patiesības tabulas kalkulators. SDNF. SKNF. Žegalkina polinoms

Skaitļu sistēmas

Skaitļu sistēmas ir sadalītas divos veidos: pozicionāls Un nav pozicionāls. Mēs izmantojam arābu sistēmu, tā ir pozicionāla, un ir arī romiešu sistēma - tā vienkārši nav pozicionāla. Pozicionālās sistēmās cipara pozīcija skaitļā unikāli nosaka šī skaitļa vērtību. To ir viegli saprast, aplūkojot kāda skaitļa piemēru.

1. piemērs. Ņemsim skaitli 5921 decimālo skaitļu sistēmā. Mēs numurējam numuru no labās puses uz kreiso, sākot no nulles:

Skaitli 5921 var uzrakstīt šādā formā: 5921 = 5000+900+20+1 = 5 10 3 +9 10 2 +2 10 1 +1 10 0 . Skaitlis 10 ir pazīme, kas nosaka skaitļu sistēmu. Dotā skaitļa pozīcijas vērtības tiek ņemtas par grādiem.

2. piemērs. Apsveriet reālo decimālskaitli 1234,567. Mēs to numurējam, sākot no skaitļa nulles pozīcijas no decimāldaļas uz kreiso un pa labi:

Skaitli 1234,567 var uzrakstīt šādi: 1234,567 = 1000+200+30+4+0,5+0,06+0,007 = 1 10 3 +2 10 2 +3 10 1 +4 10 0 +5 10 -1 -2 + 6 +7 10 -3 .

Skaitļu pārvēršana no vienas skaitļu sistēmas citā

Lielākā daļa vienkāršā veidā skaitļa pārsūtīšana no vienas skaitļu sistēmas uz citu ir skaitļa tulkošana vispirms decimālskaitļu sistēmā un pēc tam iegūtais rezultāts vajadzīgajā skaitļu sistēmā.

Skaitļu pārvēršana no jebkuras skaitļu sistēmas uz decimālo skaitļu sistēmu

Lai pārvērstu skaitli no jebkuras skaitļu sistēmas decimāldaļās, pietiek ar tā ciparu numurēšanu, sākot no nulles (cipara, kas atrodas pa kreisi no komata), līdzīgi kā 1. vai 2. piemērā. Atradīsim ciparu reizinājumu summu. no skaitļa pēc skaitļu sistēmas bāzes līdz šī cipara pozīcijas pakāpei:

1. Konvertējiet skaitli 1001101.1101 2 par decimālo skaitļu sistēmu.
Risinājums: 10011.1101 2 = 1 2 4 +0 2 3 +0 2 2 +1 2 1 +1 2 0 +1 2 -1 +1 2 -2 +0 2 -3 +1 2 - 4 = 16 + 2 + 1 + 0,5 +0,25+0,0625 = 19,8125 10
Atbilde: 10011.1101 2 = 19.8125 10

2. Konvertējiet skaitli E8F.2D 16 par decimālo skaitļu sistēmu.
Risinājums: E8F.2D 16 = 14 16 2 +8 16 1 +15 16 0 +2 16 -1 +13 16 -2 = 3584+128+15+0,125+0,05078125 = 3727,17578125 10
Atbilde: E8F.2D 16 = 3727.17578125 10

Skaitļu pārvēršana no decimālskaitļu sistēmas uz citu skaitļu sistēmu

Lai pārvērstu skaitļus no decimālskaitļu sistēmas uz citu skaitļu sistēmu, skaitļa veselā un daļskaitļa daļas ir jātulko atsevišķi.

Skaitļa veselās daļas pārvēršana no decimālskaitļu sistēmas uz citu skaitļu sistēmu

Veselo skaitļu daļu no decimālo skaitļu sistēmas pārvērš citā skaitļu sistēmā, secīgi dalot skaitļa veselo skaitļa daļu ar skaitļu sistēmas bāzi, līdz tiek iegūta vesela skaitļa atlikums, kas ir mazāks par skaitļu sistēmas bāzi. Pārsūtīšanas rezultāts būs ieraksts no mirstīgajām atliekām, sākot ar pēdējo.

3. Pārvērst skaitli 273 10 uz oktālo skaitļu sistēmu.
Risinājums: 273/8 = 34 un atlikums 1, 34/8 = 4 un atlikums 2, 4 ir mazāks par 8, tāpēc aprēķins ir pabeigts. Ieraksts no paliekām izskatīsies šādi: 421
Pārbaude: 4 8 2 +2 8 1 +1 8 0 = 256+16+1 = 273 = 273 , rezultāts ir tāds pats. Tātad tulkojums ir pareizs.
Atbilde: 273 10 = 421 8

Apskatīsim pareizo decimālo daļu tulkošanu dažādās skaitļu sistēmās.

Skaitļa daļdaļas pārvēršana no decimālskaitļu sistēmas uz citu skaitļu sistēmu

Atgādiniet pareizo decimālzīme sauca reāls skaitlis ar nulli visa daļa . Lai pārvērstu šādu skaitli skaitļu sistēmā ar bāzi N, jums ir konsekventi jāreizina skaitlis ar N, līdz daļējā daļa ir nulles vai tiek iegūts nepieciešamais ciparu skaits. Ja reizināšanas laikā tiek iegūts skaitlis ar veselu skaitļa daļu, kas nav nulle, tad veselā skaitļa daļa tālāk netiek ņemta vērā, jo tā tiek secīgi ievadīta rezultātā.

4. Konvertējiet skaitli 0,125 10 binārā skaitļu sistēmā.
Risinājums: 0,125 2 = 0,25 (0 ir vesela skaitļa daļa, kas būs rezultāta pirmais cipars), 0,25 2 = 0,5 (0 ir rezultāta otrais cipars), 0,5 2 = 1,0 (1 ir rezultāta trešais cipars , un tā kā daļēja daļa ir nulle , tulkojums ir pabeigts).
Atbilde: 0.125 10 = 0.001 2

Apsveriet veidus, kā skaitļus pārtulkot no vienas skaitļu sistēmas uz citu.

a) Bināra skaitļa pārvēršana decimāldaļās.

Ir nepieciešams pievienot divniekus pakāpēs, kas atbilst pozīcijām, kur vieninieki atrodas binārā. Piemēram:

Paņemiet skaitli 20. Binārā veidā tas izskatās šādi: 10100.

Tātad (skaitot no kreisās puses uz labo, skaitot no 4 līdz 0; skaitlis līdz nulles pakāpei vienmēr ir vienāds ar vienu)

10100 = 1*2 4 + 0*2 3 + 1*2 2 + 0*2 1 + 0*2 0 = 20

16+0+4+0+0 = 20.

b) Decimālskaitļa pārvēršana binārā.

Tas ir jāsadala ar diviem, ierakstot atlikumu no labās uz kreiso:

20/2 = 10, atlikums 0

10/2=5, atlikums 0

5/2=2, atlikums 1

2/2=1, atlikums 0

1/2=0, atlikums 1

Rezultātā mēs iegūstam: 10100 = 20

c) Heksadecimālā skaitļa pārvēršana decimāldaļā.

Heksadecimālajā sistēmā cipara pozīcijas numurs skaitļā atbilst jaudai, līdz kurai jāpalielina skaitlis 16:

8A=8*16+10(0A)=138

Visbeidzot, mēs piedāvājam L. Radjuka piedāvāto algoritmu konvertēšanai uz un no binārās sistēmas.

Lai A(cd) ir vesels decimālais skaitlis. Mēs to rakstām kā 2. bāzes pakāpju summu ar binārajiem koeficientiem. Viņa ierakstā paplašinātā formā nebūs negatīvās pilnvaras bāzes (numuri 2):

A(cd) = a(n-1) * 2^(n-1) + a(n-2) * 2^(n-2) + … + a(1) * 2^1 + a(0) *2^0.

Pirmajā solī mēs dalām skaitli A (tsd) ar binārās sistēmas bāzi, tas ir, ar 2. Dalīšanas koeficients būs vienāds ar:

a(n-1) * 2^(n-2) + a(n-2) * 2^(n-3) + ... + a(1) un atlikums ir a(0).

Otrajā solī veselo skaitļu koeficients atkal tiek dalīts ar 2, dalījuma atlikums tagad būs vienāds ar a (1).

Ja mēs turpinām šo dalīšanas procesu, tad pēc n-tā soļa mēs iegūstam atlikumu secību:

a(0), a(1),…, a(n-1).

Ir viegli redzēt, ka to secība sakrīt ar salocītā veidā rakstīta bināra vesela skaitļa apgriezto ciparu secību:

A(2) = a(n-1)…a(1)a(0).

Tādējādi, lai iegūtu vēlamo bināro skaitli, pietiek ar to, lai rakstītu atlikumus apgrieztā secībā.

Tad pats algoritms būs šāds:

1. Konsekventi veiciet sākotnējā veselā skaitļa decimālskaitļa un iegūto veselo skaitļu dalījumu ar sistēmas bāzi (ar 2), līdz tiek iegūts koeficients, kas ir mazāks par dalītāju, tas ir, mazāks par 2.

2. Pierakstiet iegūtos atlikumus apgrieztā secībā un pievienojiet pēdējo koeficientu kreisajā pusē.

Lai pārvērstu skaitļus no oktālā un heksadecimālā uz bināro, jums ir jāpārvērš skaitļa cipari bināro ciparu grupās. Lai pārvērstu no oktālās sistēmas uz bināro, katrs skaitļa cipars ir jāpārvērš trīs bināro ciparu grupā par triādi un, pārvēršot heksadecimālo skaitli četru ciparu grupā, tetradē.

SECINĀJUMS

Apkopojot darba rezultātus, var izdarīt šādus secinājumus.

Pozicionālo skaitļu sistēma sastāv no ierobežota ciparu skaita izmantošanas, bet katra cipara pozīcija ciparā nosaka šī cipara nozīmi (svaru). Cipara pozīcija ciparā matemātiskā valoda sauc par rangu.

Pozicionālās skaitļu sistēmas bāze ir dažādu rakstzīmju vai simbolu (ciparu) skaits, ko izmanto skaitļu attēlošanai noteiktā sistēmā.

Lai bināros skaitļus, kas atšķiras ar diezgan ievērojamu garumu, būtu vieglāk uztvert un attēlot, tie tiek saspiesti oktālo un heksadecimālo skaitļu sistēmās.

IN datortehnoloģijas visa veida informācija tiek kodēta tikai ar cipariem vai, precīzāk, ar cipariem, kas ir attēloti binārajā sistēmā, veids, kā attēlot jebkurus skaitļus, izmantojot divas rakstzīmes (ciparus) pēc pozicionēšanas principa.

Eksāmena nokārtošana un ne tikai...

Dīvaini, ka skolās informātikas stundās parasti skolēniem parāda sarežģītāko un neērtāko veidu, kā skaitļus pārtulkot no vienas sistēmas uz otru. Šī metode sastāv no sākotnējā skaitļa secīgas dalīšanas ar bāzi un dalījuma atlikušās daļas savākšanu apgrieztā secībā.

Piemēram, skaitlis 810 10 ir jāpārvērš binārajā sistēmā:

Rezultāts tiek uzrakstīts apgrieztā secībā no apakšas uz augšu. Izrādās 81010 = 11001010102

Ja jums ir nepieciešams konvertēt uz bināro sistēmu, diezgan lieli skaitļi, tad sadales kāpņu telpa iegūst daudzstāvu ēkas izmērus. Un kā var savākt visus ar nullēm un nepalaist garām nevienu?

Programma USE datorzinātnēs ietver vairākus uzdevumus, kas saistīti ar skaitļu tulkošanu no vienas sistēmas uz otru. Parasti tas ir pārveidojums starp 8 un 16 sistēmu un bināro sistēmu. Tās ir sadaļas A1, B11. Taču problēmas ir arī ar citām numuru sistēmām, piemēram, sadaļā B7.

Iesākumā atgādināsim divas tabulas, kuras būtu labi zināt no galvas tiem, kuri par savu nākotnes profesiju izvēlas datorzinātnes.

Skaitļa 2 pilnvaru tabula:

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

To var viegli iegūt, reizinot iepriekšējo skaitli ar 2. Tātad, ja neatceraties visus šos skaitļus, nav grūti dabūt prātā pārējos no tiem, kurus atceraties.

Bināro skaitļu tabula no 0 līdz 15 ar heksadecimālo attēlojumu:

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ūkstošās vērtības ir arī viegli aprēķināt, zināmajām vērtībām pievienojot 1.

Veselu skaitļu tulkošana

Tātad, sāksim ar konvertēšanu tieši uz bināro sistēmu. Ņemsim to pašu skaitli 810 10 . Mums šis skaitlis jāsadala skaitļos, kas vienādi ar divu pakāpēm.

  1. Mēs meklējam tuvāko jaudu no diviem līdz 810, nepārsniedzot to. Tas ir 29 = 512.
  2. No 810 atņemiet 512, iegūstam 298.
  3. Atkārtojiet 1. un 2. darbību, līdz paliek 1 vai 0.
  4. Mēs to saņēmām šādi: 810 \u003d 512 + 256 + 32 + 8 + 2 \u003d 2 9 + 2 8 + 2 5 + 2 3 + 2 1.
Tad ir divi veidi, jūs varat izmantot jebkuru no tiem. Cik viegli ir redzēt, ka jebkurā skaitļu sistēmā tās bāze vienmēr ir 10. Pamatnes kvadrāts vienmēr būs 100, kubs ir 1000. Tas ir, skaitļu sistēmas bāzes pakāpe ir 1 (viens), un pēc tā ir tik nulles, cik grādu.

1. metode: Sakārtojiet 1 pēc cipariem, kādi izrādījās terminu rādītāji. Mūsu piemērā tie ir 9, 8, 5, 3 un 1. Pārējās vietas būs nulles. Tātad, mēs saņēmām skaitļa 810 10 = 1100101010 2 bināro attēlojumu. Vienības atrodas 9., 8., 5., 3. un 1. vietā, skaitot no labās puses uz kreiso no nulles.

2. metode: Rakstīsim terminus kā divu pakāpju vienu zem otra, sākot ar lielāko.

810 =

Un tagad saliksim šīs darbības kopā, it kā ventilators būtu salocīts: 1100101010.

Tas ir viss. Pa ceļam vienkārši tiek atrisināta arī problēma “cik vienību ir skaitļa 810 binārajā attēlojumā?”.

Atbilde ir tik daudz, cik termini (divu pilnvaras) šajā attēlojumā. 810 ir 5.

Tagad piemērs ir vienkāršāks.

Pārtulkosim skaitli 63 5-kārtu skaitļu sistēmā. Tuvākā jauda no 5 līdz 63 ir 25 (5. kvadrāts). Kubs (125) jau būs daudz. Tas ir, 63 atrodas starp kvadrātu 5 un kubu. Tad izvēlamies koeficientu 5 2 . Šis ir 2.

Mēs iegūstam 63 10 = 50 + 13 = 50 + 10 + 3 = 2 * 5 2 + 2 * 5 + 3 = 223 5 .

Un, visbeidzot, ļoti vienkārši tulkojumi starp 8 un 16 decimālzīmēm. Tā kā to bāze ir pakāpe divi, tulkojums tiek veikts automātiski, vienkārši aizstājot ciparus ar to bināro attēlojumu. Astotnieku sistēmā katrs cipars tiek aizstāts ar trim binārajiem cipariem, bet heksadecimālajā sistēmā - ar četriem. Šajā gadījumā ir jānorāda visas sākuma nulles, izņemot nozīmīgāko ciparu.

Pārtulkosim skaitli 547 8 binārajā sistēmā.

547 8 = 101 100 111
5 4 7

Vēl viens, piemēram, 7D6A 16.

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

Pārtulkosim skaitli 7368 heksadecimālajā sistēmā. Vispirms ierakstiet skaitļus pa trīs un pēc tam sadaliet tos pa četriem no beigām: 736 8 \u003d 111 011 110 \u003d 1 1101 1110 \u003d 1DE. Pārveidosim skaitli C25 16 uz 8-āru sistēmu. Pirmkārt, mēs rakstām skaitļus pa četriem un pēc tam sadalām tos pa trim no beigām: C25 16 \u003d 1100 0010 0101 \u003d 110 000 100 101 \u003d 6045 8. Tagad apsveriet iespēju konvertēt atpakaļ uz decimāldaļu. Tas nav grūti, galvenais ir nekļūdīties aprēķinos. Mēs sadalām skaitli polinomā ar bāzes grādiem un koeficientiem pie tiem. Tad visu reizinām un saskaitām. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688. 732 8 \u003d 7 * 8 2 + 3 * 8 + 2 \u003d 474 .

Negatīvu skaitļu tulkošana

Šeit jāņem vērā, ka numurs tiks uzrādīts papildu kodā. Lai skaitli pārvērstu papildu kodā, jums jāzina skaitļa galīgais lielums, tas ir, kādā veidā mēs to vēlamies ierakstīt - baitā, divos baitos, četros. Visnozīmīgākais skaitļa cipars nozīmē zīmi. Ja ir 0, tad skaitlis ir pozitīvs, ja 1, tad negatīvs. Kreisajā pusē numurs ir polsterēts ar zīmes bitu. Neparakstītus skaitļus mēs neuzskatām, tie vienmēr ir pozitīvi, un tajos nozīmīgākais cipars tiek izmantots kā informatīvs raksturs.

Tulkošanai negatīvs skaitlis Binārajā papildu kodā pozitīvs skaitlis ir jāpārvērš binārajā sistēmā, pēc tam nulles jāmaina uz vieniniekiem un vieninieki uz nullēm. Pēc tam rezultātam pievienojiet 1.

Tātad, pārtulkosim skaitli -79 binārajā sistēmā. Skaitlis mums aizņems vienu baitu.

Mēs tulkojam 79 binārā sistēmā, 79 = 1001111. Baita izmēram pievienojam nulles pa kreisi, 8 biti, iegūstam 01001111. Mainām 1 uz 0 un 0 uz 1. Iegūstam 10110000. Rezultātam pievienojam 1, mēs saņemam atbildi 10110001. Pa ceļam mēs atbildam uz USE jautājumu “cik vienību ir skaitļa -79 binārajā attēlojumā?”. Atbilde ir 4.

Skaitļa apgrieztajam skaitlim pievienojot 1, tiek novērsta atšķirība starp attēlojumiem +0 = 00000000 un -0 = 11111111. Divu komplementa kodā tie tiks ierakstīti vienādi 00000000.

Daļskaitļu tulkošana

Daļskaitļi tiek tulkoti apgrieztā veidā veselu skaitļu dalīšanai ar bāzi, ko mēs apsvērām pašā sākumā. Tas ir, secīgi reizinot ar jaunu bāzi ar veselu daļu kolekciju. Reizinot iegūtās veselās daļas tiek savāktas, bet nepiedalās turpmākajās darbībās. Tiek reizinātas tikai daļas. Ja sākotnējais skaitlis ir lielāks par 1, tad veselā skaitļa un daļskaitļa daļas tiek tulkotas atsevišķi, pēc tam salīmētas kopā.

Pārtulkosim skaitli 0,6752 binārajā sistēmā.

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

Procesu var turpināt ilgi, līdz daļdaļā iegūstam visas nulles vai tiek sasniegta vajadzīgā precizitāte. Pagaidām apstāsimies pie 6. zīmes.

Izrādās 0,6752 = 0,101011.

Ja skaitlis būtu 5.6752, tad binārajā gadījumā tas būtu 101.101011.