Pretvarač brojeva iz decimalnog u binarni. Pretvaranje brojeva iz jednog brojevnog sustava u drugi. Pretvaranje malih cijelih brojeva iz decimalnih u binarne u vašoj glavi

Napomena 1

Ako želite pretvoriti broj iz jednog brojevnog sustava u drugi, tada je zgodnije da ga prvo pretvorite u decimalni brojevni sustav, a tek onda iz decimalnog brojevnog sustava u bilo koji drugi brojevni sustav.

Pravila za pretvaranje brojeva iz bilo kojeg brojevnog sustava u decimalni

U računalne tehnologije, pomoću strojne aritmetike, važnu ulogu igra pretvorba brojeva iz jednog brojevnog sustava u drugi. U nastavku donosimo osnovna pravila za takve transformacije (prijevode).

    Kada se binarni broj pretvara u decimalni, potrebno je binarni broj predstaviti kao polinom, čiji je svaki element predstavljen kao umnožak znamenke broja i odgovarajuće potencije osnovnog broja, u u ovom slučaju$2$, a zatim morate izračunati polinom koristeći pravila decimalne aritmetike:

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

Slika 1. Tablica 1

Primjer 1

Pretvorite broj $11110101_2$ u decimalni brojevni sustav.

Otopina. Koristeći danu tablicu $1$ potencija baze $2$, predstavljamo broj kao polinom:

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

    Da biste pretvorili broj iz oktalnog brojevnog sustava u decimalni brojevni sustav, trebate ga predstaviti kao polinom, čiji je svaki element predstavljen kao umnožak znamenke broja i odgovarajuće potencije osnovnog broja, u ovom slučaj $8$, a zatim treba izračunati polinom prema pravilima decimalne aritmetike:

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

Slika 2. Tablica 2

Primjer 2

Pretvorite broj $75013_8$ u decimalni brojevni sustav.

Otopina. Koristeći danu tablicu $2$ potencija baze $8$, predstavljamo broj kao polinom:

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

    Da biste pretvorili broj iz heksadecimalnog u decimalni, morate ga predstaviti kao polinom, čiji je svaki element predstavljen kao umnožak znamenke broja i odgovarajuće potencije osnovnog broja, u ovom slučaju $16$, a zatim potrebno je izračunati polinom prema pravilima decimalne aritmetike:

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

Slika 3. Tablica 3

Primjer 3

Pretvorite broj $FFA2_(16)$ u decimalni brojevni sustav.

Otopina. Koristeći danu tablicu $3$ potencija baze $8$, predstavljamo broj kao polinom:

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

Pravila za pretvaranje brojeva iz decimalnog brojevnog sustava u drugi

  • Za pretvorbu broja iz decimalni sustav Kada se računa u binarno, mora se uzastopno podijeliti s $2$ dok ne ostane ostatak manji ili jednak $1$. Broj u binarnom sustavu predstavlja se kao niz zadnjeg rezultata dijeljenja i ostataka dijeljenja obrnutim redoslijedom.

Primjer 4

Pretvorite broj $22_(10)$ u binarni brojevni sustav.

Otopina:

Slika 4.

$22_{10} = 10110_2$

  • Da biste pretvorili broj iz decimalnog brojevnog sustava u oktalni brojevni sustav, potrebno ga je uzastopno podijeliti s $8$ sve dok ne ostane ostatak manji ili jednak $7$. Broj u oktalnom brojevnom sustavu predstavlja se kao niz znamenki zadnjeg rezultata dijeljenja i ostataka od dijeljenja obrnutim redoslijedom.

Primjer 5

Pretvorite broj $571_(10)$ u oktalni brojevni sustav.

Otopina:

Slika 5.

$571_{10} = 1073_8$

  • Za pretvaranje broja iz decimalnog brojevnog sustava u heksadecimalni sustav mora se sukcesivno podijeliti sa $16$ dok ne ostane ostatak manji ili jednak $15$. Broj u heksadecimalnom sustavu predstavlja se kao niz znamenki zadnjeg rezultata dijeljenja i ostatka dijeljenja obrnutim redoslijedom.

Primjer 6

Pretvorite broj $7467_(10)$ u heksadecimalni brojevni sustav.

Otopina:

Slika 6.

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

    Da bi se pravi razlomak pretvorio iz decimalnog brojevnog sustava u nedecimalni brojevni sustav, potrebno je uzastopno pomnožiti razlomački dio broja koji se pretvara s bazom sustava u koji ga treba pretvoriti. Razlomak u novi sustav bit će prezentirani u obliku cjelovitih dijelova radova, počevši od prvog.

    Na primjer: $0,3125_((10))$ u oktalnom brojevnom sustavu izgledat će kao $0,24_((8))$.

    U tom slučaju možete naići na problem kada finale decimalni može odgovarati beskonačnom (periodičkom) razlomku u nedecimalnom brojevnom sustavu. U ovom slučaju, broj znamenki u razlomku predstavljenom u novom sustavu ovisit će o potrebnoj točnosti. Također treba napomenuti da cijeli brojevi ostaju cijeli brojevi, a pravi razlomci ostaju razlomci u bilo kojem brojevnom sustavu.

Pravila za pretvaranje brojeva iz binarnog brojevnog sustava u drugi

  • Za pretvorbu broja iz binarnog brojevnog sustava u oktalni, mora se podijeliti u trijade (trojke znamenki), počevši od najmanje značajne znamenke, ako je potrebno, dodajući nule vodećoj trijadi, zatim zamijeniti svaku trijadu odgovarajućom oktalnom znamenkom prema tablici 4.

Slika 7. Tablica 4

Primjer 7

Pretvorite broj $1001011_2$ u oktalni brojevni sustav.

Otopina. Pomoću tablice 4 pretvaramo broj iz binarnog brojevnog sustava u oktalni:

$001 001 011_2 = 113_8$

  • Da biste pretvorili broj iz binarnog brojevnog sustava u heksadecimalni, potrebno ga je podijeliti na tetrade (četiri znamenke), počevši od najmanje značajne znamenke, ako je potrebno, dodajući nule najznačajnijoj tetradi, zatim zamijeniti svaku tetradu odgovarajućom oktalnom znamenkom. prema tablici 4.

Da biste brzo pretvorili brojeve iz decimalnog brojevnog sustava u binarni sustav, morate dobro poznavati brojeve "2 na potenciju". Na primjer, 2 10 =1024, itd. To će vam omogućiti da neke primjere prijevoda riješite doslovno u nekoliko sekundi. Jedan od tih zadataka je Problem A1 iz USE demo 2012. Naravno, možete dugo i zamorno dijeliti broj s "2". Ali bolje je odlučiti drugačije, štedeći dragocjeno vrijeme na ispitu.

Metoda je vrlo jednostavna. Njegov smisao je sljedeći: Ako je broj koji treba pretvoriti iz decimalnog sustava jednak broju "2 na potenciju", tada taj broj u binarnom sustavu sadrži broj nula jednak potenciji. Dodajemo "1" ispred ovih nula.

  • Pretvorimo broj 2 iz decimalnog sustava. 2=2 1 . Stoga u binarnom sustavu broj sadrži 1 nulu. Stavimo "1" ispred i dobijemo 10 2.
  • Pretvorimo 4 iz decimalnog sustava. 4=2 2 . Stoga u binarnom sustavu broj sadrži 2 nule. Stavimo "1" ispred i dobijemo 100 2.
  • Pretvorimo 8 iz decimalnog sustava. 8=2 3 . Stoga u binarnom sustavu broj sadrži 3 nule. Stavimo "1" ispred i dobijemo 1000 2.


Slično za ostale brojeve "2 na stepen".

Ako je broj koji treba pretvoriti manji od broja "2 na potenciju" za 1, tada se u binarnom sustavu taj broj sastoji samo od jedinica čiji je broj jednak potenciji.

  • Pretvorimo 3 iz decimalnog sustava. 3=2 2 -1. Dakle, u binarnom sustavu broj sadrži 2 jedinice. Dobivamo 112.
  • Pretvorimo 7 iz decimalnog sustava. 7=2 3 -1. Dakle, u binarnom sustavu broj sadrži 3 jedinice. Dobivamo 111 2.

Na slici kvadrati označavaju binarni prikaz broja, a decimalni prikaz ružičastom bojom s lijeve strane.


Prijevod je sličan za druge brojeve "2 na stepen 1".

Jasno je da se prevođenje brojeva od 0 do 8 može obaviti brzo ili dijeljenjem, ili jednostavno znati napamet njihov prikaz u binarnom sustavu. Dao sam ove primjere kako biste razumjeli princip ovu metodu i koristio ga za prevođenje "impresivnijih brojeva", na primjer, za prevođenje brojeva 127,128, 255, 256, 511, 512 itd.

Na takve probleme možete naići kada trebate pretvoriti broj koji nije jednak broju "2 na potenciju", ali mu je blizu. Može biti veći ili manji od 2 na potenciju. Razlika između prevedenog broja i broja "2 na potenciju" trebala bi biti mala. Na primjer, do 3. Predstavljanje brojeva od 0 do 3 u binarnom sustavu samo treba znati bez prijevoda.

Ako je broj veći od , riješite ovako:

Prvo pretvaramo broj "2 na potenciju" u binarni sustav. Zatim tome dodamo razliku između broja "2 na potenciju" i broja koji se prevodi.

Na primjer, pretvorimo 19 iz decimalnog sustava. Veći je od broja "2 na potenciju" za 3.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

19 10 =10000 2 +11 2 =10011 2 .

Ako je broj manji od broja "2 na stepen", tada je prikladnije koristiti broj "2 na stepen-1". Rješavamo to ovako:

Prvo pretvaramo broj "2 na stepen-1" u binarni sustav. Zatim od toga oduzimamo razliku između broja "2 na potenciju 1" i broja koji se prevodi.

Na primjer, pretvorimo 29 iz decimalnog sustava. Veći je od broja “2 na potenciju-1” za 2. 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

Ako je razlika između broja koji se prevodi i broja "2 na potenciju" veća od tri, tada možete rastaviti broj na njegove komponente, pretvoriti svaki dio u binarni sustav i zbrojiti.

Na primjer, pretvorite broj 528 iz decimalnog sustava. 528=512+16. 512 i 16 prevodimo odvojeno.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
Dodajmo ga sada u stupac:

Ciljevi lekcije:

  • ponoviti gradivo proučavano na temu brojevnog sustava;
  • naučiti pretvarati broj iz dekadskog sustava u bilo koji drugi pozicijski brojevni sustav i obrnuto;
  • ovladati principima pretvorbe brojeva iz jednog sustava u drugi;
  • razvijati logičko mišljenje.

Napredak lekcije

Na početku sata kratki pregled i provjera domaće zadaće.

U kojem su obliku numeričke informacije prikazane u memoriji računala?

Za što se koriste brojčani sustavi?

Koje vrste brojevnih sustava poznajete? Navedite vlastite primjere.

Po čemu se položajni sustavi razlikuju od nepozicijskih sustava?

Cilj naše lekcije je naučiti kako pretvoriti broj iz decimalnog sustava u bilo koji drugi pozicijski brojevni sustav i obrnuto. Ali prvo ćemo pogledati kako možete

predstavljaju bilo koji nenegativan cijeli broj:

U položajni sustavi vrijednost pisanja cijelog broja određena je sljedeće pravilo: neka je a n a n-1 a n-2 …a 1 a 0 zapis broja A, a i su brojevi, tada

gdje je p cijeli broj veći od 1, koji se naziva baza brojevnog sustava

Kako bi se za dani p bilo koji nenegativan cijeli broj mogao napisati prema formuli (1) i, štoviše, na jedinstven način, numeričke vrijednosti različite znamenke moraju biti različiti cijeli brojevi koji pripadaju segmentu od 0 do p-1.

1) Dekadski sustav

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

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

2) Ternarni sustav

brojevi: 0,1,2

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

Napomena: indeks u broju označava bazu brojevnog sustava u kojem je broj napisan. Za decimalni brojevni sustav ne treba pisati indeks.

Predstavljanje negativnih i razlomljenih brojeva:

U svim položajnim sustavima za pisanje negativnih brojeva koristi se znak ‘–’, baš kao i u decimalnom sustavu. Zarez se koristi za odvajanje cijelog dijela broja od razlomka. Vrijednost unosa a n a n-1 a n-2 …a 1 a 0 , a -1 a -2 …a m-2 a m-1 a m broja A određena je formulom koja je generalizacija formula (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)

Pretvaranje brojeva iz proizvoljnog brojevnog sustava u decimalni:

Treba imati na umu da se kod prevođenja broja iz jednog brojevnog sustava u drugi ne mijenja kvantitativna vrijednost broja, već se mijenja samo oblik pisanja broja, baš kao i kod prevođenja imena broja, na primjer, iz ruski na engleski.

Pretvaranje brojeva iz proizvoljnog brojevnog sustava u decimalni izvodi se izravnim izračunom pomoću formule (1) za cijele brojeve i formule (2) za razlomke.

Pretvaranje brojeva iz decimalnog brojevnog sustava u proizvoljni brojevni sustav.

Pretvaranje broja iz decimalnog sustava u sustav s bazom p znači pronalaženje koeficijenata u formuli (2). Ponekad je to lako učiniti jednostavan odabir. Na primjer, recimo da trebate pretvoriti broj 23,5 u oktalni sustav. Lako je vidjeti da je 23,5 = 16+7+0,5 = 2·8+7+4/8 = 2·8 1 +7·8 0 +4·8 –1 =27,48. Jasno je da odgovor nije uvijek tako očit. Općenito, koristi se metoda odvojenog pretvaranja cijelog i razlomljenog dijela broja.

Za pretvorbu cijelih brojeva koristi se sljedeći algoritam (dobiven na temelju formule (1)):

1. Odredi količnik i ostatak pri dijeljenju broja s p. Ostatak će biti sljedeća znamenka ai (j=0,1,2...) broja u novom brojevnom sustavu.

2. Ako je kvocijent jednak nuli, tada je prevođenje broja završeno, u suprotnom na kvocijent primjenjujemo točku 1.

Napomena 1. Znamenke ai u zapisu brojeva numeriraju se s desna na lijevo.

Napomena 2. Ako je p>10, tada je potrebno uvesti zapis za brojeve s numeričkim vrijednostima većim ili jednakim 10.

Pretvorite broj 165 u septalni brojevni sustav.

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

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

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

Zapišimo rezultat: a 2 a 1 a 0 , tj. 3247.

Provjerom pomoću formule (1) uvjerit ćemo se da je prijevod točan:

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

Za pretvaranje frakcijskih dijelova brojeva koristi se algoritam dobiven na temelju formule (2):

1. Pomnoži razlomački dio broja s p.

2. Cjelobrojni dio rezultata bit će sljedeća znamenka am (m = –1, –2, –3 ...) zapisa broja u novom brojevnom sustavu. Ako je razlomački dio rezultata nula, tada je prevođenje broja dovršeno, inače na njega primjenjujemo korak 1.

Napomena 1. Znamenke a m u zapisu brojeva poredane su slijeva nadesno uzlaznim redoslijedom apsolutna vrijednost m.

Napomena 2. Obično broj razlomaka u novi unos broj je unaprijed ograničen. To vam omogućuje izvođenje približnog prijevoda sa zadanom točnošću. U slučaju beskonačnih razlomaka, takvo ograničenje osigurava konačnost algoritma.

Pretvorite broj 0,625 u binarni brojevni sustav.

0,625 2 = 1,25 (cijeli dio 1) => a -1 =1

0,25 2 = 0,5 (cijeli broj 0) => a- 2 = 0

0,5 2 = 1,00 (cijeli broj 1) => a- 3 = 1

Dakle, 0,62510 = 0,1012

Provjerom pomoću formule (2) uvjerit ćemo se da je prijevod točan:

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

Pretvorite broj 0,165 u kvartarni brojevni sustav, ograničavajući ga na četiri kvartarne znamenke.

0,165 4 = 0,66 (cijeli dio 0) => a -1 =0

0,66 4 = 2,64 (cijeli broj 2) => a -2 = 2

0,64 4 = 2,56 (cijeli broj 2) => a -3 = 2

0,56 4 = 2,24 (cijeli dio 2) => a -4 = 2

Dakle, 0,16510" 0,02224

Napravimo povratni prijevod kako bismo bili sigurni da apsolutna pogreška ne prelazi 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

Pretvaranje brojeva iz jednog proizvoljnog sustava u drugi

U tom slučaju prvo morate pretvoriti broj u decimalni sustav, a zatim iz decimalnog sustava u traženi.

Posebna se metoda koristi za pretvorbu brojeva za sustave s više baza.

Neka su p i q baze dvaju brojevnih sustava. Ove ćemo sustave zvati brojevnim sustavima s više baza ako je p = qn ili q = pn, gdje je n prirodan broj. Tako su, na primjer, brojevni sustavi s bazama 2 i 8 sustavi s više baza.

Neka je p = qn i trebate pretvoriti broj iz brojevnog sustava s bazom q u brojevni sustav s bazom p. Podijelimo cijeli i razlomački dio broja u skupine od n uzastopno ispisanih znamenki lijevo i desno od decimalne točke. Ako broj znamenki u cijelom dijelu broja nije višekratnik broja n, tada trebate dodati odgovarajući broj nula s lijeve strane. Ako broj znamenki u razlomačkom dijelu broja nije višekratnik broja n, tada se s desne strane dodaju nule. Svaka takva grupa znamenki je broj u stari sustav broj će odgovarati jednoj znamenki broja u novom brojevnom sustavu.

Pretvorimo 1100001.111 2 u kvartarni brojevni sustav.

Zbrajanjem nula i odabirom parova brojeva dobivamo 01100001.11102.

Sada prevedimo svaki par znamenki zasebno, koristeći odjeljak Prevođenje brojeva iz jednog proizvoljnog sustava u drugi.

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

Pretpostavimo sada da treba prijeći sa sustava s većom bazom q na sustav s manjom bazom p, tj. q = pn. U tom slučaju jednoj znamenki broja u starom brojevnom sustavu odgovara n znamenki broja u novom brojevnom sustavu.

Primjer: Provjerimo prethodni prijevod broja.

1201,324 = 1100001,11102=1100001,1112

U heksadecimalnom sustavu postoje znamenke s numeričkim vrijednostima 10,11,12, 13,14,15. Da biste ih označili, upotrijebite prvih šest slova latinične abecede A, B, C, D, E, F.

Ovdje je tablica brojeva od 0 do 16, zapisana u brojevnim sustavima s bazama 10, 2, 8 i 16.

Broj u decimalnom sustavu 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
U oktalnom 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
U binarnom obliku 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
U heksadecimalnom 0 1 2 3 4 5 6 7 8 9 A B C D E F 10

Za pisanje heksadecimalnih znamenki možete koristiti i mala slova. latinična slova a-f.

Primjer: Pretvorimo broj 110101001010101010100.11 2 u heksadecimalni brojevni sustav.

Iskoristimo višestrukost baza brojevnih sustava (16=2 4). Grupirajmo brojeve po četiri, dodajući potreban broj nula s lijeve i desne strane

000110101001010101010100,1100 2

i, provjeravajući tablicu, dobivamo: 1A9554,C 16

Zaključak:

Koji je brojevni sustav najbolji za pisanje brojeva stvar je pogodnosti i tradicije. S tehničkog gledišta, prikladno je koristiti binarni sustav u računalu, budući da koristi samo dvije znamenke 0 i 1 za zapis broja, koji se može predstaviti s dva stanja koja se lako razlikuju "nema signala" i "postoji signal.”

Naprotiv, čovjeku je nezgodno baviti se binarnim zapisima brojeva zbog činjenice da su oni duži od decimalnih i da u njima postoji mnogo znamenki koje se ponavljaju. Stoga, ako je potrebno, radite sa strojnim prikazima brojeva, koristite oktalne ili heksadecimalne brojevne sustave. Osnove ovih sustava su cjelobrojni potencije dvojke, pa se brojevi lako pretvaraju iz tih sustava u binarni i obrnuto.

Zapiši domaću zadaću:

a) Zapiši datume rođenja svih članova svoje obitelji u različitim brojevnim sustavima.

b) Pretvorite brojeve iz binarnih u oktalne i heksadecimalne, a zatim provjerite rezultate izvođenjem obrnutih pretvorbi:

a) 1001111110111,011 2;

Oni koji polažu Jedinstveni državni ispit i više...

Čudno je da na satovima informatike u školama učenicima obično pokazuju najsloženiji i najnezgodniji način pretvaranja brojeva iz jednog sustava u drugi. Ova se metoda sastoji od uzastopnog dijeljenja izvornog broja s bazom i prikupljanja ostataka od dijeljenja obrnutim redoslijedom.

Na primjer, trebate pretvoriti broj 810 10 u binarni:

Rezultat pišemo obrnutim redoslijedom odozdo prema gore. Ispada 81010 = 11001010102

Ako trebate pretvoriti u binarni sustav, sasvim velike brojke, tada podjela ljestve poprima veličinu višekatnice. I kako možete skupiti sve jedinice i nule i ne propustiti nijednu?

Program Jedinstvenog državnog ispita iz informatike uključuje nekoliko zadataka koji se odnose na pretvaranje brojeva iz jednog sustava u drugi. Obično je to pretvorba između oktalnog i heksadecimalnog sustava i binarnog sustava. To su dionice A1, B11. Ali postoje i problemi s drugim brojevnim sustavima, kao na primjer u odjeljku B7.

Za početak se prisjetimo dvije tablice koje bi bilo dobro znati napamet onima koji budu računalstvo birali kao svoju buduću profesiju.

Tablica potencija broja 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

Lako se dobiva množenjem prethodnog broja s 2. Dakle, ako se ne sjećate svih ovih brojeva, ostale nije teško dobiti u mislima od onih kojih se sjećate.

Tablica binarnih brojeva od 0 do 15 sa heksadecimalnim prikazom:

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

Vrijednosti koje nedostaju također je lako izračunati dodavanjem 1 poznatim vrijednostima.

Pretvorba cijelog broja

Dakle, počnimo s izravnom pretvorbom u binarni sustav. Uzmimo isti broj 810 10. Moramo rastaviti ovaj broj na članove jednake potencijama broja dva.

  1. Tražimo snagu dva najbliža 810 i ne prelazimo je. Ovo je 2 9 = 512.
  2. Oduzmemo 512 od 810, dobivamo 298.
  3. Ponavljajte korake 1 i 2 dok ne preostane 1 ili 0.
  4. Dobili smo to ovako: 810 = 512 + 256 + 32 + 8 + 2 = 2 9 + 2 8 + 2 5 + 2 3 + 2 1.
Zatim postoje dvije metode, možete koristiti bilo koju od njih. Kako je lako vidjeti da je u bilo kojem brojevnom sustavu njegova baza uvijek 10. Kvadrat baze uvijek će biti 100, kub 1000. To jest, stupanj baze brojevnog sustava je 1 (jedan), a iza njega stoji onoliko nula koliko i stupanj.

Metoda 1: Poredaj 1 prema rangovima indikatora pojmova. U našem primjeru to su 9, 8, 5, 3 i 1. Preostala mjesta će sadržavati nule. Dakle, dobili smo binarni prikaz broja 810 10 = 1100101010 2. Jedinice se postavljaju na 9., 8., 5., 3. i 1. mjesto, računajući s desna na lijevo od nule.

Metoda 2: Zapišimo članove kao potencije dvojke jedan ispod drugog, počevši od najvećeg.

810 =

Sada zbrojimo ove korake, poput sklapanja lepeze: 1100101010.

To je to. Istovremeno, problem "koliko je jedinica u binarnom prikazu broja 810" također je jednostavno riješen.

Odgovor je onoliko koliko ima članova (potencija dvojke) u ovom prikazu. 810 ih ima 5.

Sada je primjer jednostavniji.

Pretvorimo broj 63 u 5-redni brojevni sustav. Najbliži stepen od 5 do 63 je 25 (kvadrat 5). Kocka (125) će već biti puno. To jest, 63 leži između kvadrata broja 5 i kocke. Zatim ćemo odabrati koeficijent za 5 2. Ovo je 2.

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

I, konačno, vrlo jednostavni prijevodi između 8 i heksadecimalnih sustava. Budući da je njihova baza potencija broja dva, prevođenje se vrši automatski, jednostavnom zamjenom brojeva njihovim binarnim prikazom. Za oktalni sustav svaka znamenka zamijenjena je s tri binarne znamenke, a za heksadecimalni sustav četiri. U ovom slučaju potrebne su sve vodeće nule, osim najznačajnije znamenke.

Pretvorimo broj 547 8 u binarni.

547 8 = 101 100 111
5 4 7

Još jedan, na primjer 7D6A 16.

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

Pretvorimo broj 7368 u heksadecimalni sustav, brojeve prvo zapišimo u trojke, a zatim ih od kraja podijelimo u četvorke: 736 8 = 111 011 110 = 1 1101 1110 = 1DE 16. Pretvorimo broj C25 16 u oktalni sustav. Brojeve prvo napišemo četvorke, a zatim ih od kraja podijelimo na tri: C25 16 = 1100 0010 0101 = 110 000 100 101 = 6045 8. Sada pogledajmo pretvorbu natrag u decimale. Nije teško, glavna stvar je ne pogriješiti u izračunima. Broj raširimo u polinom s potencijama baze i koeficijentima za njih. Zatim sve množimo i zbrajamo. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688. 732 8 = 7 * 8 2 + 3 * 8 + 2 = 474 .

Pretvaranje negativnih brojeva

Ovdje morate uzeti u obzir da će broj biti predstavljen u dodatni kod. Za pretvaranje broja u dodatni kod potrebno je znati konačnu veličinu broja, odnosno u što ga želimo smjestiti - u bajt, u dva bajta, u četiri. Najvažnija znamenka broja označava znak. Ako postoji 0, onda je broj pozitivan, ako je 1, onda je negativan. S lijeve strane broj je dopunjen znamenkom znaka. Brojeve bez predznaka ne uzimamo u obzir; oni su uvijek pozitivni, a najvažniji bit u njima koristi se kao informacija.

Da biste negativni broj pretvorili u binarni komplementni kod, trebate izvršiti konverziju pozitivan broj u binarni sustav, zatim promijenite nule u jedinice i jedinice u nule. Zatim dodajte 1 rezultatu.

Dakle, pretvorimo broj -79 u binarni sustav. Broj će nam uzeti jedan bajt.

Pretvaramo 79 u binarni sustav, 79 = 1001111. Dodamo nule lijevo na veličinu bajta, 8 bita, dobijemo 01001111. Mijenjamo 1 u 0 i 0 u 1. Dobivamo 10110000. Dodajemo 1 rezultat, dobivamo odgovor 10110001. Usput odgovaramo na pitanje Jedinstvenog državnog ispita „koliko jedinica ima binarni prikaz brojevi -79?" Odgovor je 4.

Dodavanje 1 obrnutom broju eliminira razliku između prikaza +0 = 00000000 i -0 = 11111111. U kodu komplementa dvojke oni će biti napisani isto kao 00000000.

Pretvaranje razlomačkih brojeva

Razlomački brojevi se pretvaraju obrnutim načinom od dijeljenja cijelih brojeva bazom, što smo pogledali na samom početku. Odnosno korištenjem sekvencijalnog množenja s novom bazom sa skupljanjem cijelih dijelova. Cjelobrojni dijelovi dobiveni tijekom množenja se prikupljaju, ali ne sudjeluju u sljedećim operacijama. Samo se razlomci množe. Ako je izvorni broj veći od 1, tada se cijeli i razlomački dio prevode odvojeno i zatim lijepe zajedno.

Pretvorimo broj 0,6752 u binarni sustav.

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

Proces se može nastaviti dugo dok ne dobijemo sve nule u razlomku ili dok ne postignemo potrebnu točnost. Zaustavimo se za sada na 6. znaku.

Ispada da je 0,6752 = 0,101011.

Ako je broj bio 5,6752, onda binarni to će biti 101.101011.

Prilikom pretvorbe brojeva iz decimalnog brojevnog sustava u bilo koji drugi, cijeli i razlomak uvijek se prevode odvojeno (prema različitim pravilima).

Prijevod cijelog dijela

Kako biste pretvorili broj iz decimalnog brojevnog sustava u bilo koji drugi, morate učiniti cjelobrojno dijeljenje izvorni broj na temelju brojevnog sustava u koji broj treba pretvoriti. U ovom slučaju bitni su ostatak dijeljenja i kvocijent. Kvocijent se mora podijeliti s bazom dok ne ostane 0. Nakon toga svi ostaci moraju biti zapisani obrnutim redoslijedom - to će biti broj u novom brojevnom sustavu.

Na primjer, pretvaranje broja 25 iz decimalnog brojevnog sustava u binarni sustav izgledat će ovako:

Ispisujući ostatke obrnutim redoslijedom, dobivamo 25 10 =11001 2.

Ako razmislite o tome, lako možete primijetiti da će pri pretvaranju apsolutno bilo kojeg broja u binarni brojevni sustav zadnji ostatak (odnosno prva znamenka u rezultatu) uvijek biti jednak zadnjem kvocijentu, koji se pretvorio biti manji od baze brojevnog sustava u koji prevodimo broj. Stoga se dijeljenje često zaustavlja prije nego što kvocijent postane jednaka nuli- u trenutku kada posebno postane jednostavno manje od baze. Na primjer:

Pretvorba iz decimalnog brojevnog sustava u bilo koji drugi brojevni sustav provodi se prema potpuno istim pravilima. Evo primjera pretvaranja 393 10 u heksadecimalni brojevni sustav:

Ispisujući ostatke obrnutim redoslijedom, dobivamo 393 10 =189 16.

Morate razumjeti da se ostaci dobivaju u decimalnom brojevnom sustavu. Kod dijeljenja sa 16, ostaci se mogu pojaviti ne samo od 0 do 9, već i ostaci od 10 do 15. Svaki ostatak uvijek je točno jedna znamenka u brojevnom sustavu u koji se prevodi.

Na primjer, ako ste pri pretvaranju u heksadecimalni brojevni sustav dobili sljedeće ostatke (ispisane redoslijedom kojim bi trebali biti zapisani u broju): 10, 3, 15, 7, tada je u heksadecimalnom brojevnom sustavu ovaj niz ostaci će odgovarati broju A3F7 16 (neki pogrešno zapisuju broj kao 103157 16 - jasno je da je to potpuno drugačiji broj i da ako to učinite, ispast će da ni na koji način heksadecimalni broj brojevi od A do F se neće pojaviti).

Frakcijski prijevod

Kod prevođenja razlomljenog dijela, za razliku od prevođenja cijelog dijela, ne treba dijeliti, već množiti s bazom brojevnog sustava u koji pretvaramo. U tom se slučaju cijeli dijelovi svaki put odbacuju, a razlomci se ponovno množe. Sabiranjem cijelih dijelova redoslijedom kojim su dobiveni dobivamo razlomački dio broja in potreban sustav Računanje

Jedna operacija množenja daje točno jedan dodatni znak u brojevnom sustavu u koji se prevodi.

U ovom slučaju postoje dva uvjeta za dovršetak procesa:

1) kao rezultat sljedećeg množenja dobili ste nulu u razlomku. Jasno je da koliko god pomnožili ovu nulu, ona će i dalje ostati nula. To znači da je broj točno pretvoren iz decimalnog brojevnog sustava u traženi.

2) ne mogu se svi brojevi točno prevesti. U ovom slučaju, obično se prevodi s određenom točnošću. U ovom slučaju prvo određuju koliko će decimalnih mjesta biti potrebno - to je broj puta koliko će se morati izvršiti operacija množenja.

Evo primjera pretvorbe broja 0,39 10 u binarni brojevni sustav. Točnost - 8 znamenki (u ovom slučaju točnost prijevoda odabire se proizvoljno):

Ispisujemo li cijele dijelove izravnim redom, dobivamo 0,39 10 =0,01100011 2 .

Nema potrebe pisati prvu nulu (precrtanu plavom bojom na slici) - jer se ne odnosi na razlomak, već na cijeli dio. Neki ljudi greškom pišu ovu nulu iza decimalne točke kada ispisuju rezultat.

Ovako će izgledati pretvorba broja 0,39 10 u heksadecimalni brojevni sustav. Točnost - 8 znamenki u ovom slučaju, točnost se opet bira proizvoljno:

Ispišemo li cijele dijelove izravnim redom, dobit ćemo 0,39 10 =0,63D700A3 16.

U isto vrijeme, vjerojatno ste primijetili da se cijeli dijelovi kada se množe dobivaju u decimalnom sustavu brojeva. Ove cjelobrojne dijelove dobivene pri prevođenju razlomaka broja treba tumačiti na potpuno isti način kao i ostatke pri prevođenju cijelog dijela broja. To jest, ako su, kada se pretvore u heksadecimalni brojevni sustav, cijeli brojevi dobiveni sljedećim redoslijedom: 3, 13, 7, 10, tada će odgovarajući broj biti jednak 0,3D7A 16 (a ne 0,313710 16, kao što neki ponekad pogrešno napisati).

Pretvaranje brojeva s cijelim i razlomljenim dijelovima

Za pretvaranje broja iz cijelog broja u razlomački dio, treba prevesti cijeli dio posebno, a razlomak posebno, te stoga ova dva dijela napišite zajedno.

Na primjer, 25,39 10 =11001,01100011 2 (prijevodi cijelog i razlomljenog dijela - vidi gore).

Pretvaranje malih cijelih brojeva iz decimalnih u binarne u vašoj glavi

Od kada radi sa raznih sustava U računici, posebno pri razvoju programa, vrlo često postoji potreba za prevođenjem malih cijelih brojeva, tada, općenito govoreći, ima smisla zapamtiti prvih 16 brojeva (od 0 do 15).

Ali ako shvatite kako je lako mentalno pretvoriti male cijele brojeve od 0 do 15 iz decimalnog brojevnog sustava u binarni, tada možete jednostavno izračunati značajan dio tablice u svojoj glavi svaki put kad vam zatreba. Učinite ovu operaciju mnogo puta i u jednom trenutku sami nećete moći shvatiti jeste li već zapamtili tablicu ili još uvijek računate.

Dakle, da biste pretvorili mali pozitivni cijeli broj od 0 do 15 iz decimalnog u binarni, prva stvar koju morate razumjeti jest da svaka pozicija u binarni broj odgovara potenciji dvojke.

U isto vrijeme, potencije dvojke za pozicije od 0 do 3 vrlo je lako zapamtiti - to su brojevi 1, 2, 4 i 8:

A broj 10 je 2 plus 8: