Aritmetičke operacije u kalkulatoru različitih brojevnih sistema. Binarno sabiranje

Servisni zadatak. Online kalkulator je dizajniran za dodavanje binarnih brojeva u direktnim, inverznim i komplementarnim kodovima.

Sa ovim kalkulatorom se također koriste sljedeće:
Pretvaranje brojeva u binarni, heksadecimalni, decimalni, oktalni sistem brojeva
Množenje binarnih brojeva
Format s pomičnim zarezom
Primjer #1. Izrazite broj 133,54 kao broj s pomičnim zarezom.
Rješenje. Hajde da predstavimo broj 133,54 u normalizovanom eksponencijalnom obliku:
1,3354*10 2 = 1,3354*exp 10 2
Broj 1,3354*exp 10 2 sastoji se od dva dijela: mantise M=1,3354 i eksponenta exp 10 =2
Ako je mantisa u opsegu 1 ≤ M Predstavljanje broja u denormaliziranom eksponencijalnom obliku.
Ako je mantisa u opsegu 0,1 ≤ M Predstavimo broj u denormaliziranom eksponencijalnom obliku: 0,13354*exp 10 3

Primjer #2. Predstavite binarni broj 101.10 2 u normalizovanom obliku, upišite u 32-bitnom IEEE754 standardu.
tabela istine


Limit Calculation

Aritmetika u binarnom sistemu

Aritmetičke operacije u binarnom sistemu se izvode na isti način kao i u decimalnom. Ali, ako se u decimalnom brojevnom sistemu prenos i pozajmica obavljaju po deset jedinica, onda u binarnom - po dvije jedinice. U tabeli su prikazana pravila za sabiranje i oduzimanje u binarnom sistemu.
  1. Prilikom sabiranja dvije jedinice u binarnom brojevnom sistemu, ovaj bit će biti 0 i doći će do prijenosa jedne na najviši bit.
  2. Prilikom oduzimanja jedan od nule, jedan se pozajmljuje iz najvišeg reda, gdje je 1. Jedinica koja je zauzeta na ovom mjestu daje dvije jedinice na mjestu gdje se obračunava radnja, kao i jednu, na svim srednjim mjestima.

Dodavanje brojeva, uzimajući u obzir njihove znakove na mašini, niz je sljedećih radnji:

  • pretvaranje originalnih brojeva u navedeni kod;
  • pobitno dodavanje kodova;
  • analiza rezultata.
Prilikom izvođenja operacije u inverznom (modificiranom inverznom) kodu, ako se kao rezultat sabiranja pojavi jedinica za nošenje u predznačkom bitu, ona se dodaje najmanjem značajnom bitu sume.
Prilikom izvođenja operacije u dodatnom (modificiranom dodatnom) kodu, ako se kao rezultat sabiranja pojavi jedinica za nošenje u bitu znaka, ona se odbacuje.
Operacija oduzimanja u računaru se izvodi sabiranjem po pravilu: X-Y=X+(-Y). Dalje radnje se izvode na isti način kao i za operaciju sabiranja.

Primjer #1.
Dato: x=0,110001; y= -0,001001, dodati obrnuti modifikovani kod.

Dato: x=0,101001; y= -0,001101, dodati dodatni modifikovani kod.

Primjer #2. Riješite primjere binarnog oduzimanja koristeći metodu komplementa 1 i premotavanja.
a) 11 - 10.
Rješenje.
Predstavimo brojeve 11 2 i -10 2 u obrnutom kodu.

Binarni broj 0000011 ima povratni kod 0,0000011

Dodajmo brojeve 00000011 i 11111101

7 6 5 4 3 2 1 0
1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0

7 6 5 4 3 2 1 0
1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0

Došlo je do prelivanja u 2. bitu (1 + 1 = 10). Stoga pišemo 0 i prenosimo 1 u 3. bit.
7 6 5 4 3 2 1 0
1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0

7 6 5 4 3 2 1 0
1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0

7 6 5 4 3 2 1 0
1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0

7 6 5 4 3 2 1 0
1 1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 0

7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 0 0

7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 0 0 0

Kao rezultat, dobijamo:
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 0 0 0

Došlo je do prenošenja znaka. Dodajmo ga (tj. 1) na rezultirajući broj (na taj način provodimo postupak cikličkog prijenosa).
Kao rezultat, dobijamo:
7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 1

Rezultat zbrajanja: 00000001. Pretvori u decimalni prikaz. Da biste preveli cijeli broj, potrebno je cifru broja pomnožiti odgovarajućim stepenom znamenke.
00000001 = 2 7 *0 + 2 6 *0 + 2 5 *0 + 2 4 *0 + 2 3 *0 + 2 2 *0 + 2 1 *0 + 2 0 *1 = 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 = 1
Rezultat sabiranja (u decimalnom zapisu): 1

b) 111-010 Predstavimo brojeve 111 2 i -010 2 u obrnutom kodu.
Reverzni kod za pozitivan broj je isti kao i direktni kod. Za negativan broj, sve cifre broja se zamjenjuju suprotnim (1 do 0, 0 do 1), a jedna se unosi u bit predznaka.
Binarni broj 0000111 ima povratni kod 0,0000111
Binarni broj 0000010 ima povratni kod 1.1111101
Dodajmo brojeve 00000111 i 11111101
Došlo je do prelivanja u 0. bitu (1 + 1 = 10). Stoga pišemo 0 i prenosimo 1 u 1. bit.

7 6 5 4 3 2 1 0
1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0

Došlo je do prelivanja u 1. bitu (1 + 1 = 10). Stoga pišemo 0 i prenosimo 1 u 2. bit.
7 6 5 4 3 2 1 0
1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0

Došlo je do prelivanja u 2. bitu (1 + 1 + 1 = 11). Stoga pišemo 1, a prenosimo 1 na 3. cifru.
7 6 5 4 3 2 1 0
1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
1 0 0

Došlo je do prelivanja u 3. bitu (1 + 1 = 10). Stoga pišemo 0 i prenosimo 1 u 4. bit.
7 6 5 4 3 2 1 0
1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 1 0 0

Došlo je do prelivanja u 4. bitu (1 + 1 = 10). Stoga pišemo 0 i prenosimo 1 u 5. bit.
7 6 5 4 3 2 1 0
1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 1 0 0

Došlo je do prelivanja u 5. bitu (1 + 1 = 10). Stoga pišemo 0 i prenosimo 1 u 6. bit.
7 6 5 4 3 2 1 0
1 1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 0 1 0 0

Došlo je do prelivanja u 6. bitu (1 + 1 = 10). Stoga pišemo 0 i prenosimo 1 u 7. bit.
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 0 0 1 0 0

Došlo je do prelivanja u 7. bitu (1 + 1 = 10). Stoga pišemo 0 i prenosimo 1 u 8. bit.
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 1 0 0

Kao rezultat, dobijamo:
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 1 0 0

Došlo je do prenošenja znaka. Dodajmo ga (tj. 1) na rezultirajući broj (na taj način provodimo postupak cikličkog prijenosa).
Kao rezultat, dobijamo:
7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 1 0 1

Rezultat zbrajanja: 00000101
Dobili smo broj 00000101. Za prevođenje cijelog broja potrebno je cifru broja pomnožiti sa stepenom cifre koja mu odgovara.
00000101 = 2 7 *0 + 2 6 *0 + 2 5 *0 + 2 4 *0 + 2 3 *0 + 2 2 *1 + 2 1 *0 + 2 0 *1 = 0 + 0 + 0 + 0 + 0 + 4 + 0 + 1 = 5
Rezultat zbrajanja (u decimalnom zapisu): 5

Sabiranje binarnih realnih brojeva s pomičnim zarezom

U računaru, bilo koji broj može biti predstavljen u formatu s pomičnim zarezom. Format s pomičnim zarezom prikazan je na slici:


Na primjer, broj 10101 u formatu s pomičnim zarezom može se napisati ovako:


Računari koriste normalizovani oblik zapisa, u kojem se pozicija zareza uvijek daje ispred značajne cifre mantise, tj. ispunjen je uslov:
b -1 ≤|M| Normalizovan broj - ovo je broj koji ima značajnu cifru iza decimalnog zareza (tj. 1 u binarnom brojevnom sistemu). Primjer normalizacije:
0,00101*2 100 =0,101*2 10
111,1001*2 10 =0,111001*2 101
0,01101*2 -11 =0,1101*2 -100
11,1011*2 -101 =0,11011*2 -11

Prilikom dodavanja brojeva s pomičnim zarezom, poravnavanje naloga se vrši prema višem redu:

Algoritam sabiranja s pomičnim zarezom:

  1. Usklađivanje naloga;
  2. Dodavanje mantisa u dodatnom modificiranom kodu;
  3. Normalizacija rezultata.

Primjer #4.
A=0,1011*2 10 , B=0,0001*2 11
1. Usklađivanje naloga;
A=0,01011*2 11 , B=0,0001*2 11
2. Dodavanje mantisa u dodatni modifikovani kod;
MA dodatak mod. =00,01011
MB dodatna mod. =00,0001
00,01011
+ 00,00010
=
00,01101
A+B=0,01101*2 11
3. Normalizacija rezultata.
A+B=0,1101*2 10

Primjer #3. Napišite decimalni broj u binarno-decimalnom zapisu i dodajte dva broja u binarnom zapisu.

Primjeri prevođenja brojeva u različite sisteme brojeva

Primjer #1
Pretvorimo broj 12 iz decimalnog u binarni brojevni sistem
Rješenje

Pretvorimo broj 12 10 u 2-arni brojevni sistem, koristeći uzastopno deljenje sa 2, sve dok nepotpuni količnik ne bude jednak nuli. Rezultat će biti broj iz ostatka dijeljenja napisan s desna na lijevo.

12 : 2 = 6 ostatak: 0
6 : 2 = 3 ostatak: 0
3 : 2 = 1 ostatak: 1
1 : 2 = 0 ostatak: 1

12 10 = 1100 2

Primjer #2
Prevedimo broj 12.3 iz decimalnog u binarni brojevni sistem

12.3 10 = 1100.010011001100110011001100110011 2

Rješenje

Prevedemo cijeli broj 12 broja 12,3 10 u 2-arni brojevni sistem, koristeći uzastopno dijeljenje sa 2, sve dok nepotpuni količnik ne bude jednak nuli. Rezultat će biti broj iz ostatka dijeljenja napisan s desna na lijevo.

12 : 2 = 6 ostatak: 0
6 : 2 = 3 ostatak: 0
3 : 2 = 1 ostatak: 1
1 : 2 = 0 ostatak: 1

12 10 = 1100 2

Prevedemo razlomački dio 0,3 broja 12,3 10 u dvocifreni brojevni sistem, koristeći sekvencijalno množenje sa 2, sve dok se razlomački dio proizvoda ne ispostavi da je nula ili dok se ne postigne potreban broj decimalnih mjesta. Ako, kao rezultat množenja, cijeli broj nije jednak nuli, tada je potrebno zamijeniti vrijednost cijelog broja nulom. Rezultat će biti niz cijelih dijelova proizvoda, napisanih s lijeva na desno.

0.3 · 2 = 0 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2
0.2 · 2 = 0 .4
0.4 · 2 = 0 .8
0.8 · 2 = 1 .6
0.6 · 2 = 1 .2

0.3 10 = 0.010011001100110011001100110011 2
12.3 10 = 1100.010011001100110011001100110011 2

Primjer #3
Pretvorimo broj 10011 iz binarnog sistema u decimalni brojevni sistem
Rješenje

Prevedemo broj 10011 2 u decimalni brojevni sistem, za to prvo zapišemo poziciju svake cifre u broju s desna na lijevo, počevši od nule

Svaka pozicija cifre će biti stepen 2, pošto je sistem brojeva 2-aran. Potrebno je sukcesivno pomnožiti svaki broj 10011 2 sa 2 na stepen odgovarajuće pozicije broja, a zatim ga dodati sa sljedećim proizvodom sljedećeg broja na stepen odgovarajuće pozicije.

10011 2 = 1 ⋅ 2 4 + 0 ⋅ 2 3 + 0 ⋅ 2 2 + 1 ⋅ 2 1 + 1 ⋅ 2 0 = 19 10

Primjer #4
Prevedemo broj 11.101 iz binarnog sistema u decimalni brojevni sistem

11.101 2 = 3.625 10

Rješenje

Prevedemo broj 11.101 2 u decimalni brojevni sistem, za to prvo zapisujemo poziciju svake cifre u broju

Svaka pozicija cifre će biti stepen 2, pošto je sistem brojeva 2-aran. Potrebno je sukcesivno pomnožiti svaki broj 11.101 2 sa 2 na stepen odgovarajuće pozicije broja, a zatim ga dodati sa sljedećim proizvodom sljedećeg broja na stepen odgovarajuće pozicije.

11.101 2 = 1 ⋅ 2 1 + 1 ⋅ 2 0 + 1 ⋅ 2 -1 + 0 ⋅ 2 -2 + 1 ⋅ 2 -3 = 3.625 10

Primjer #5
Pretvorimo broj 1583 iz decimalnog sistema u heksadecimalni brojni sistem

1583 10 = 62F 16

Rješenje

Prevedemo broj 1583 10 u 16-redni brojevni sistem, koristeći uzastopno deljenje sa 16, sve dok nepotpuni količnik ne bude jednak nuli. Rezultat će biti broj iz ostatka dijeljenja napisan s desna na lijevo.

1583 : 16 = 98 ostatak: 15, 15 = F
98 : 16 = 6 ostatak: 2
6 : 16 = 0 ostatak: 6

1583 10 = 62F 16

Primjer #6
Hajde da prevedemo broj 1583.56 iz decimalnog sistema u heksadecimalni brojni sistem

1583.56 10 = 62F.8F5C28F5C28F5C28F5C28F5C28F5C2 16

Rješenje

Prevedemo cijeli broj 1583 broja 1583,56 10 u sistem od 16, koristeći uzastopno dijeljenje sa 16, sve dok nepotpuni količnik ne bude jednak nuli. Rezultat će biti broj iz ostatka dijeljenja napisan s desna na lijevo.

1583 : 16 = 98 ostatak: 15, 15 = F
98 : 16 = 6 ostatak: 2
6 : 16 = 0 ostatak: 6

1583 10 = 62F 16

Prevedemo razlomak 0,56 broja 1583,56 10 u sistem od 16, koristeći sekvencijalno množenje sa 16, sve dok se razlomački dio proizvoda ne pokaže jednakim nuli ili dok se ne postigne potreban broj decimalnih mjesta. Ako, kao rezultat množenja, cijeli broj nije jednak nuli, tada je potrebno zamijeniti vrijednost cijelog broja nulom. Rezultat će biti niz cijelih dijelova proizvoda, napisanih s lijeva na desno.

0.56 · 16 = 8 .96
0.96 · 16 = 15,36, 15=F
0.36 · 16 = 5 .76
0.76 · 16 = 12.16, 12=C
0.16 · 16 = 2 .56
0.56 · 16 = 8 .96
0.96 · 16 = 15,36, 15=F
0.36 · 16 = 5 .76
0.76 · 16 = 12.16, 12=C
0.16 · 16 = 2 .56
0.56 · 16 = 8 .96
0.96 · 16 = 15,36, 15=F
0.36 · 16 = 5 .76
0.76 · 16 = 12.16, 12=C
0.16 · 16 = 2 .56
0.56 · 16 = 8 .96
0.96 · 16 = 15,36, 15=F
0.36 · 16 = 5 .76
0.76 · 16 = 12.16, 12=C
0.16 · 16 = 2 .56
0.56 · 16 = 8 .96
0.96 · 16 = 15,36, 15=F
0.36 · 16 = 5 .76
0.76 · 16 = 12.16, 12=C
0.16 · 16 = 2 .56
0.56 · 16 = 8 .96
0.96 · 16 = 15,36, 15=F
0.36 · 16 = 5 .76
0.76 · 16 = 12.16, 12=C
0.16 · 16 = 2 .56

0.56 10 = 0.8F5C28F5C28F5C28F5C28F5C28F5C2 16
1583.56 10 = 62F.8F5C28F5C28F5C28F5C28F5C28F5C2 16

Primjer #7
Pretvorimo broj A12DCF iz heksadecimalnog sistema u decimalni brojevni sistem

A12DCF 16 = 10563023 10

Rješenje

Pretvorimo broj A12DCF 16 u decimalni brojevni sistem, za to prvo zapišemo poziciju svake cifre u broju s desna na lijevo, počevši od nule

Svaka pozicija cifre će biti stepen od 16, pošto je sistem brojeva 16. Potrebno je sukcesivno pomnožiti svaki broj A12DCF 16 sa 16 na stepen odgovarajuće pozicije broja, a zatim dodati sledeći proizvod sledećeg broja na stepen odgovarajuće pozicije.
2

1 0 -1 -2 -3 BrojA1 2 DCF1 2 A
Svaka pozicija cifre će biti stepen od 16, pošto je sistem brojeva 16. Potrebno je svaki broj A12DCF.12A 16 uzastopno pomnožiti sa 16 na stepen odgovarajuće pozicije broja, a zatim dodati sledeći proizvod sledećeg broja na stepen odgovarajuće pozicije.
A 16 = 10 10
D16 = 13 10
C 16 = 12 10
F 16 = 15 10

A12DCF.12A 16 = 10 ⋅ 16 5 + 1 ⋅ 16 4 + 2 ⋅ 16 3 + 13 ⋅ 16 2 + 12 ⋅ 16 1 + 15 ⋅ 16 0 + 1 ⋅ 16

1 0 Broj1 0 1 0 1 0 0 0 1 1
Svaka pozicija cifre će biti stepen 2, pošto je sistem brojeva 2-aran. Potrebno je sukcesivno pomnožiti svaki broj 1010100011 2 sa 2 na stepen odgovarajuće pozicije broja, a zatim ga dodati sa sljedećim proizvodom sljedećeg broja na stepen njegove odgovarajuće pozicije.

1010100011 2 = 1 ⋅ 2 9 + 0 ⋅ 2 8 + 1 ⋅ 2 7 + 0 ⋅ 2 6 + 1 ⋅ 2 5 + 0 ⋅ 2 4 + 0 ⋅ 2 3 + 0 ⋅ 2 2 + 1 ⋅ 2 1 + 1 ⋅ 2 0 = 675 10

Prevedemo broj 675 10 u sistem od 16, koristeći uzastopno deljenje sa 16, sve dok parcijalni količnik ne bude jednak nuli. Rezultat će biti broj iz ostatka dijeljenja napisan s desna na lijevo.

675 : 16 = 42 ostatak: 3
42 : 16 = 2 ostatak: 10, 10 = A
2 : 16 = 0 ostatak: 2

675 10 = 2A3 16 Servisni zadatak. Usluga je dizajnirana za prevođenje brojeva iz jednog sistema brojeva u drugi na mreži. Da biste to učinili, odaberite bazu sistema iz koje želite prevesti broj. Možete unijeti i cijele brojeve i brojeve sa zarezom.

Možete unijeti ili cijele brojeve, kao što je 34, ili razlomke, kao što je 637.333. Za razlomke je naznačena tačnost prijevoda nakon decimalnog zareza.

Sa ovim kalkulatorom se također koriste sljedeće:

Načini predstavljanja brojeva

Binarno (binarni) brojevi - svaka cifra označava vrijednost jednog bita (0 ili 1), najznačajniji bit se uvijek piše lijevo, slovo “b” se stavlja iza broja. Radi lakše percepcije, sveske se mogu odvojiti razmacima. Na primjer, 1010 0101b.
Heksadecimalni (heksadecimalni) brojevi - svaka tetrada je predstavljena jednim znakom 0...9, A, B, ..., F. Takav prikaz se može označiti na različite načine, ovdje se koristi samo znak "h" nakon posljednjeg heksadecimalna cifra. Na primjer, A5h. U programskim tekstovima isti broj može biti označen i kao 0xA5 i 0A5h, u zavisnosti od sintakse programskog jezika. Neznačajna nula (0) dodaje se lijevo od najznačajnije heksadecimalne cifre predstavljene slovom radi razlikovanja između brojeva i simboličkih imena.
Decimale (decimalni) brojevi - svaki bajt (riječ, dvostruka riječ) je predstavljen običnim brojem, a znak decimalnog prikaza (slovo "d") se obično izostavlja. Bajt iz prethodnih primjera ima decimalnu vrijednost od 165. Za razliku od binarne i heksadecimalne notacije, decimalni je teško mentalno odrediti vrijednost svakog bita, što se ponekad mora učiniti.
Octal (oktalni) brojevi - svaka trojka bitova (razdvajanje počinje od najmanje značajnog) se zapisuje kao broj 0-7, na kraju se stavlja znak "o". Isti broj bi bio zapisan kao 245o. Oktalni sistem je nezgodan po tome što se bajt ne može podijeliti jednako.

Algoritam za pretvaranje brojeva iz jednog brojevnog sistema u drugi

Konverzija cjelobrojnih decimalnih brojeva u bilo koji drugi brojevni sistem se provodi dijeljenjem broja sa osnovom novog brojevnog sistema sve dok ostatak ne ostavi broj manji od osnove novog brojevnog sistema. Novi broj se upisuje kao ostatak dijeljenja, počevši od posljednjeg.
Konverzija tačnog decimalnog razlomka u drugi PSS se vrši množenjem samo razlomka broja sa osnovom novog brojevnog sistema dok sve nule ne ostanu u razlomku ili dok se ne postigne navedena tačnost prevođenja. Kao rezultat svake operacije množenja, formira se jedna znamenka novog broja, počevši od najvišeg.
Prevođenje nepravilnog razlomka vrši se prema 1. i 2. pravilu. Cjelobrojni i razlomački dijelovi se pišu zajedno, odvojeni zarezom.

Primjer #1.



Prevod od 2 do 8 do 16 sistema brojeva.
Ovi sistemi su višestruki od dva, stoga se prevođenje vrši pomoću tablice korespondencije (vidi dolje).

Da biste broj iz binarnog brojevnog sistema pretvorili u oktalni (heksadecimalni) broj, potrebno je podijeliti binarni broj u grupe od tri (četiri za heksadecimalni) cifre od zareza desno i lijevo, dopunjujući ekstremne grupe nulama ako je potrebno. Svaka grupa je zamijenjena odgovarajućom oktalnom ili heksadecimalnom znamenkom.

Primjer #2. 1010111010.1011 = 1.010.111.010.101.1 = 1272.51 8
ovdje 001=1; 010=2; 111=7; 010=2; 101=5; 001=1

Prilikom pretvaranja u heksadecimalni broj morate podijeliti na dijelove, po četiri znamenke, slijedeći ista pravila.
Primjer #3. 1010111010.1011 = 10.1011.1010.1011 = 2B12.13 HEX
ovdje 0010=2; 1011=B; 1010=12; 1011=13

Pretvaranje brojeva iz 2, 8 i 16 u decimalni sistem vrši se tako što se broj razbije na zasebne i pomnoži sa osnovom sistema (iz kojeg je broj preveden) podignutom na stepen koji odgovara njegovom rednom broju. u prevedenom broju. U ovom slučaju, brojevi se numeriraju lijevo od decimalnog zareza (prvi broj ima broj 0) sa povećanjem, a desno sa smanjenjem (tj. sa negativnim predznakom). Dobijeni rezultati se zbrajaju.

Primjer #4.
Primjer pretvaranja iz binarnog u decimalni brojevni sistem.

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 Primjer konverzije iz oktalnog u decimalni brojevni sistem. 108,5 8 = 1* 8 2 +0 8 1 +8 8 0 + 5 8 -1 = 64+0+8+0,625 = 72,625 10 Primjer pretvaranja iz heksadecimalnog u decimalni brojevni sistem. 108,5 16 = 1 16 2 +0 16 1 +8 16 0 + 5 16 -1 = 256+0+8+0,3125 = 264,3125 10

Još jednom ponavljamo algoritam za prevođenje brojeva iz jednog brojevnog sistema u drugi PSS

  1. Iz decimalnog brojevnog sistema:
    • podijeliti broj sa osnovom brojevnog sistema koji se prevodi;
    • pronaći ostatak nakon dijeljenja cijelog broja;
    • zapišite sve ostatke od dijeljenja obrnutim redoslijedom;
  2. Iz binarnog sistema
    • Da biste pretvorili u decimalni brojevni sistem, morate pronaći zbir proizvoda baze 2 prema odgovarajućem stepenu pražnjenja;
    • Da biste broj pretvorili u oktalni, morate ga razbiti na trozvuke.
      Na primjer, 1000110 = 1000 110 = 106 8
    • Da biste broj pretvorili iz binarnog u heksadecimalni, potrebno je podijeliti broj u grupe od 4 znamenke.
      Na primjer, 1000110 = 100 0110 = 46 16
Sistem se zove pozicioni., za koji značaj ili težina cifre ovisi o njenoj lokaciji u broju. Odnos između sistema je prikazan u tabeli.
Tabela korespondencije brojnih sistema:
Binarni SSHeksadecimalni 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

Tabela za pretvaranje u oktalni brojevni sistem

Primjer #2. Pretvorite broj 100,12 iz decimalnog u oktalni i obrnuto. Objasnite razloge neslaganja.
Rješenje.
Faza 1. .

Ostatak podjele piše se obrnutim redoslijedom. Dobijamo broj u 8. brojevnom sistemu: 144
100 = 144 8

Da bismo preveli razlomak broja, sukcesivno množimo razlomak sa bazom 8. Kao rezultat, svaki put zapisujemo celobrojni deo proizvoda.
0,12*8 = 0,96 (cijeli dio 0 )
0,96*8 = 7,68 (cijeli dio 7 )
0,68*8 = 5,44 (cijeli dio 5 )
0,44*8 = 3,52 (cijeli dio 3 )
Dobijamo broj u 8. brojevnom sistemu: 0753.
0.12 = 0.753 8

100,12 10 = 144,0753 8

Faza 2. Pretvaranje broja iz decimalnog u oktalni.
Obratna konverzija iz oktalnog u decimalni.

Da biste preveli cijeli broj, potrebno je cifru broja pomnožiti odgovarajućim stepenom znamenke.
144 = 8 2 *1 + 8 1 *4 + 8 0 *4 = 64 + 32 + 4 = 100

Da biste preveli razlomak, potrebno je cifru broja podijeliti odgovarajućim stepenom znamenke
0753 = 8 -1 *0 + 8 -2 *7 + 8 -3 *5 + 8 -4 *3 = 0.119873046875 = 0.1199

144,0753 8 = 100,96 10
Razlika od 0,0001 (100,12 - 100,1199) je zbog greške zaokruživanja pri pretvaranju u oktal. Ova greška se može smanjiti ako uzmemo veći broj znamenki (na primjer, ne 4, već 8).

Bilješka:
Možete izvoditi radnje samo u jednom brojevnom sistemu, ako su vam dati različiti brojevni sistemi, prvo prevedite sve brojeve u jedan brojevni sistem
Ako radite s brojevnim sistemom čija je baza veća od 10 i naišli ste na slovo u primjeru, mentalno ga zamijenite brojem u decimalnom sistemu, izvršite potrebne operacije i prevedite rezultat natrag u originalni brojevni sistem

dodatak:
Svi se sjećaju kako su nas u osnovnoj školi učili slagati u kolonu, ispuštati s pražnjenjem. Ako je sabiranje u pražnjenju rezultiralo brojem većim od 9, od njega smo oduzimali 10, rezultat se upisivao u odgovor, a 1 se dodavao sljedećem pražnjenju. Iz ovoga možemo formulirati pravilo:

  1. Pogodnije je presavijati "stupac"
  2. Zbrajanjem bit po bit, ako je cifra u cifri > veća od najveće cifre abecede datog brojevnog sistema, od ovog broja oduzimamo osnovu brojevnog sistema.
  3. Rezultat se upisuje u željenu kategoriju
  4. Dodajte jedan na sljedeću cifru
primjer:

Dodajte 1001001110 i 100111101 u binarnom obliku

1001001110

100111101

1110001011

Odgovor: 1110001011

Dodajte F3B i 5A heksadecimalno

FE0

Odgovor: FE0


oduzimanje: Svi se sjećaju kako su nas u osnovnoj školi učili da oduzimamo kolonu, iscjedak od pražnjenja. Ako se pri oduzimanju cifre dobije broj manji od 0, tada smo od najviše cifre „posudili“ jedinicu i željenom broju dodali 10, oduzeli željeni broj od novog broja. Iz ovoga možemo formulirati pravilo:

  1. Oduzmite povoljnije "kolone"
  2. Oduzimanje po bitu ako je cifra u cifri< 0, вычитаем из старшего разряда 1, а к нужному разряду прибавляем основание системы счисления.
  3. Oduzimanje
primjer:

Oduzmi 100111101 od 1001001110 u binarnom

1001001110

100111101

100010001

Odgovor: 100010001

Oduzmi heksadecimalno 5A od F3B

D96

Odgovor: D96

Ono što je najvažnije, ne zaboravite da imate na raspolaganju samo brojeve ovog brojevnog sistema, samo ne zaboravite na prelaze između bitnih pojmova.
množenje:

Množenje u drugim brojevnim sistemima se dešava na potpuno isti način kao što smo mi koristili za množenje.

  1. Pogodnije je množiti sa "stupcem"
  2. Množenje u bilo kojem brojevnom sistemu slijedi ista pravila kao u decimalnom. Ali možemo koristiti samo abecedu koju nam daje brojevni sistem
primjer:

Pomnožite 10111 sa 1101 u binarnom obliku

10111

1101

10111

10111

10111

100101011

Odgovor: 100101011

Pomnožite F3B sa A u heksadecimalu

F3B

984E

Odgovor: 984E

Odgovor: 984E

Ono što je najvažnije, ne zaboravite da imate na raspolaganju samo brojeve ovog brojevnog sistema, samo ne zaboravite na prelaze između bitnih pojmova.

divizija:

Dijeljenje se u drugim brojevnim sistemima odvija na potpuno isti način na koji smo navikli na dijeljenje.

  1. Pogodnije je dijeliti u "koloni"
  2. Podjela u bilo kojem brojevnom sistemu odvija se prema istim pravilima kao i u decimalnom. Ali možemo koristiti samo abecedu koju nam daje brojevni sistem

primjer:

Podijelite 1011011 sa 1101 u binarnom obliku

Podijelite F3 B do broja 8 u heksadecimalnom brojevnom sistemu

Ono što je najvažnije, ne zaboravite da imate na raspolaganju samo brojeve ovog brojevnog sistema, samo ne zaboravite na prelaze između bitnih pojmova.

NEPOZICIONALNO

Nepozicioni sistemi brojeva

Nepozicioni brojevni sistemi su se istorijski prvi pojavili. U ovim sistemima, vrijednost svakog digitalnog simbola je konstantna i ne ovisi o njegovoj poziciji. Najjednostavniji slučaj nepozicionog sistema je jednostruki, za koji se za označavanje brojeva koristi jedan simbol, po pravilu je to linija, ponekad tačka, na koju se uvek stavlja broj koji odgovara naznačenom broju:

  • 1 - |
  • 2 - ||
  • 3 - |||, itd.

Dakle, ovaj pojedinačni lik je važan jedinice, iz kojeg se uzastopnim sabiranjem dobije traženi broj:

||||| = 1+1+1+1+1 = 5.

Modifikacija sistema jedinica je sistem sa bazom, u kojem postoje simboli ne samo za označavanje jedinice, već i za stepene baze. Na primjer, ako se kao osnova uzme broj 5, tada će biti dodatnih znakova koji označavaju 5, 25, 125 i tako dalje.

Primer takvog sistema sa bazom 10 je staroegipatski sistem, koji je nastao u drugoj polovini trećeg milenijuma pre nove ere. Ovaj sistem je imao sljedeće hijeroglife:

  • šest - jedinica,
  • luk - desetice,
  • palmin list - stotine,
  • lotosov cvet - hiljade.

Brojevi su dobijeni jednostavnim sabiranjem, redoslijed može biti bilo koji. Dakle, da bi označili, na primjer, broj 3815, nacrtali su tri lotosova cvijeta, osam palminih listova, jedan luk i pet motki. Složeniji sistemi sa dodatnim znakovima - stari grčki, rimski. Rimski takođe koristi element pozicijskog sistema - dodaje se veliki broj ispred manjeg, manji ispred većeg se oduzima: IV = 4, ali VI = 6, ova metoda, međutim, koristi se isključivo za označavanje brojeva 4, 9, 40, 90, 400, 900, 4000 i njihovih derivata zbrajanjem.

Moderni grčki i staroruski sistemi koristili su 27 slova abecede kao brojeve, pri čemu su svaki broj označavali od 1 do 9, kao i desetice i stotine. Ovaj pristup je omogućio pisanje brojeva od 1 do 999 bez ponavljanja cifara.

U starom ruskom sistemu za označavanje velikih brojeva korišteni su posebni okviri oko brojeva.

Nepozicioni sistem numerisanja se i dalje koristi skoro svuda kao verbalni sistem numerisanja. Verbalni sistemi numerisanja su snažno vezani za jezik, a njihovi zajednički elementi uglavnom se odnose na opšte principe i nazive velikih brojeva (trilion i više). Opći principi koji su u osnovi modernog verbalnog numeriranja pretpostavljaju formiranje oznake dodavanjem i množenjem značenja jedinstvenih imena.

Pomoću ovog online kalkulatora možete pretvoriti cijele i razlomke iz jednog brojevnog sistema u drugi. Dato je detaljno rješenje sa objašnjenjima. Da biste preveli, unesite originalni broj, postavite osnovu brojevnog sistema originalnog broja, postavite bazu brojevnog sistema u koji želite da konvertujete broj i kliknite na dugme "Prevedi". U nastavku pogledajte teoretski dio i numeričke primjere.

Rezultat je već primljen!

Prevođenje cijelih i razlomaka iz jednog brojevnog sistema u bilo koji drugi - teorija, primjeri i rješenja

Postoje pozicioni i nepozicioni sistemi brojeva. Arapski brojevni sistem koji koristimo u svakodnevnom životu je pozicioni, dok rimski nije. U pozicionim brojevnim sistemima, pozicija broja jednoznačno određuje veličinu broja. Razmotrite ovo na primjeru broja 6372 u decimalnom brojevnom sistemu. Numerimo ovaj broj s desna na lijevo počevši od nule:

Tada se broj 6372 može predstaviti na sljedeći način:

6372=6000+300+70+2 =6 10 3 +3 10 2 +7 10 1 +2 10 0 .

Broj 10 definira sistem brojeva (u ovom slučaju to je 10). Vrijednosti položaja datog broja uzimaju se kao stepeni.

Razmotrimo pravi decimalni broj 1287.923. Numerimo ga počevši od nulte pozicije broja od decimalnog zareza lijevo i desno:

Tada se broj 1287.923 može predstaviti kao:

1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1 10 3 +2 10 2 +8 10 1 +7 10 0 +9 10 -1 +2 10 -2 +3 10 -3 .

Općenito, formula se može predstaviti na sljedeći način:

C n s n + C n-1 s n-1 +...+C 1 s 1 + C 0 s 0 + D -1 s -1 + D -2 s -2 + ... + D -k s -k

gdje je C n cijeli broj na poziciji n, D -k - razlomak na poziciji (-k), s- sistem brojeva.

Nekoliko riječi o brojevnim sistemima Broj u decimalnom brojevnom sistemu sastoji se od skupa cifara (0,1,2,3,4,5,6,7,8,9), u oktalnom brojevnom sistemu se sastoji od skup cifara (0,1, 2,3,4,5,6,7), u binarnom sistemu - iz skupa cifara (0.1), u heksadecimalnom brojevnom sistemu - iz skupa cifara (0, 1,2,3,4,5,6, 7,8,9,A,B,C,D,E,F), pri čemu A,B,C,D,E,F odgovaraju brojevima 10,11, 12,13,14,15 U tabeli 1 brojevi su predstavljeni u različitim brojevnim sistemima.

Tabela 1
Notacija
10 2 8 16
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

Pretvaranje brojeva iz jednog brojevnog sistema u drugi

Za prevođenje brojeva iz jednog brojevnog sistema u drugi, najlakši način je da prvo broj pretvorite u decimalni brojevni sistem, a zatim ga iz decimalnog brojevnog sistema prevedete u traženi brojevni sistem.

Pretvaranje brojeva iz bilo kojeg brojevnog sistema u decimalni brojevni sistem

Koristeći formulu (1), možete pretvoriti brojeve iz bilo kojeg brojevnog sistema u decimalni brojevni sistem.

Primjer 1. Pretvorite broj 1011101.001 iz binarnog brojevnog sistema (SS) u decimalni SS. Rješenje:

1 2 6 +0 2 5 + 1 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 0 2 -1 + 0 2 -2 + 1 2 -3 =64+16+8+4+1+1/8=93.125

Primjer2. Pretvorite broj 1011101.001 iz oktalnog brojevnog sistema (SS) u decimalni SS. Rješenje:

Primjer 3 . Pretvorite broj AB572.CDF iz heksadecimalne u decimalni SS. Rješenje:

Evo A-zamijenjeno sa 10, B- u 11, C- u 12, F- u 15.

Pretvaranje brojeva iz decimalnog brojevnog sistema u drugi brojevni sistem

Da biste brojeve iz decimalnog brojevnog sistema pretvorili u drugi brojevni sistem, potrebno je da odvojeno prevedete celobrojni deo broja i razlomak broja.

Cjelobrojni dio broja se prevodi iz decimalnog SS u drugi brojevni sistem - uzastopnim dijeljenjem cijelog dijela broja sa osnovom brojevnog sistema (za binarni SS - sa 2, za 8-cifreni SS - sa 8, za 16-cifrenu - za 16, itd. ) da biste dobili cijeli ostatak, manji od baze SS.

Primjer 4 . Prevedemo broj 159 iz decimalnog SS u binarni SS:

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

Kao što se može vidjeti sa sl. 1, broj 159, kada se podijeli sa 2, daje količnik 79, a ostatak je 1. Nadalje, broj 79, kada se podijeli sa 2, daje količnik 39, a ostatak je 1, i tako dalje. Kao rezultat toga, konstruiranjem broja od ostatka dijeljenja (s desna na lijevo), dobijamo broj u binarnom SS: 10011111 . Stoga možemo napisati:

159 10 =10011111 2 .

Primjer 5 . Pretvorimo broj 615 iz decimalnog SS u oktalni SS.

615 8
608 76 8
7 72 9 8
4 8 1
1

Prilikom pretvaranja broja iz decimalnog SS u oktalni SS, potrebno je da broj uzastopno podijelite sa 8 dok ne dobijete cijeli broj manji od 8. Kao rezultat, gradimo broj od ostatka dijeljenja (s desna na lijevo) dobiti broj u oktalnom SS: 1147 (vidi sliku 2). Stoga možemo napisati:

615 10 =1147 8 .

Primjer 6 . Prevedemo broj 19673 iz decimalnog brojevnog sistema u heksadecimalni SS.

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

Kao što se vidi sa slike 3, uzastopnim dijeljenjem broja 19673 sa 16, dobili smo ostatke 4, 12, 13, 9. U heksadecimalnom brojevnom sistemu, broj 12 odgovara C, broj 13 - D. Dakle, naš heksadecimalni broj je 4CD9.

Da bismo konvertovali tačne decimalne razlomke (realan broj sa celim delom nula) u brojevni sistem sa osnovom s, ovaj broj se mora sukcesivno množiti sa s dok razlomak ne bude čista nula, ili dobijemo traženi broj cifara. Ako množenje rezultira brojem s cijelim dijelom koji nije nula, tada se ovaj cijeli dio ne uzima u obzir (oni su sekvencijalno uključeni u rezultat).

Pogledajmo gore navedeno s primjerima.

Primjer 7 . Prevedemo broj 0,214 iz decimalnog brojevnog sistema u binarni SS.

0.214
x 2
0 0.428
x 2
0 0.856
x 2
1 0.712
x 2
1 0.424
x 2
0 0.848
x 2
1 0.696
x 2
1 0.392

Kao što se može vidjeti na slici 4, broj 0,214 se sukcesivno množi sa 2. Ako je rezultat množenja broj čiji je cijeli broj različit od nule, tada se cijeli dio piše zasebno (lijevo od broja), a broj je zapisan cijelim dijelom nula. Ako se pri množenju dobije broj s cijelim dijelom nula, tada se nula upisuje lijevo od njega. Proces množenja se nastavlja sve dok se ne dobije čista nula u razlomku ili dok se ne dobije potreban broj znamenki. Upisujući podebljane brojeve (slika 4) od vrha do dna, dobijamo traženi broj u binarnom sistemu: 0. 0011011 .

Stoga možemo napisati:

0.214 10 =0.0011011 2 .

Primjer 8 . Prevedemo broj 0,125 iz decimalnog brojevnog sistema u binarni SS.

0.125
x 2
0 0.25
x 2
0 0.5
x 2
1 0.0

Da bi se broj 0,125 pretvorio iz decimalnog SS u binarni, ovaj broj se sukcesivno množi sa 2. U trećoj fazi je dobijeno 0. Dakle, dobijen je sljedeći rezultat:

0.125 10 =0.001 2 .

Primjer 9 . Prevedemo broj 0,214 iz decimalnog brojevnog sistema u heksadecimalni SS.

0.214
x 16
3 0.424
x 16
6 0.784
x 16
12 0.544
x 16
8 0.704
x 16
11 0.264
x 16
4 0.224

Slijedeći primjere 4 i 5, dobijamo brojeve 3, 6, 12, 8, 11, 4. Ali u heksadecimalnom SS, brojevi C i B odgovaraju brojevima 12 i 11. Dakle, imamo:

0,214 10 =0,36C8B4 16 .

Primjer 10 . Prevedemo broj 0,512 iz decimalnog brojevnog sistema u oktalni SS.

0.512
x 8
4 0.096
x 8
0 0.768
x 8
6 0.144
x 8
1 0.152
x 8
1 0.216
x 8
1 0.728

dobio:

0.512 10 =0.406111 8 .

Primjer 11 . Prevedemo broj 159.125 iz decimalnog brojevnog sistema u binarni SS. Da bismo to učinili, prevodimo odvojeno cijeli dio broja (Primjer 4) i razlomak broja (Primjer 8). Kombinacijom ovih rezultata dobijamo:

159.125 10 =10011111.001 2 .

Primjer 12 . Prevedemo broj 19673.214 iz decimalnog brojevnog sistema u heksadecimalni SS. Da bismo to učinili, prevodimo odvojeno cijeli dio broja (Primjer 6) i razlomak broja (Primjer 9). Daljnjim kombinovanjem ovih rezultata dobijamo.

mob_info