Jestliže máme číslo N o základě B1 a chceme ho převést na číslo o základu B2, je zapotřebí odlišit, zda se jedná o číslo celé kladné resp. číslo kladné desetinné. Pro převod celých kladných čísel je nejběžnější metoda:
- Postupného odečítání vah
- Postupné dělení základem
Tato metoda vychází ze vztahu
upraveného na tvar
Metoda spočívá v hledání koeficientu an, an-1, ..., a1,
a0 postupným odečítáním zmenšujících se vah
. Je vlastně hledána mocnina se základem B2 menší nebo rovna
zbytku převáděného čísla. Algoritmus výpočtu na počátku předpokládá
hodnoty všech koeficientů
an, an-1, ..., a1,
a0 = 0. Od čísla NB1 se odečte nejbližší nižší váha
a dostaneme zbytek 1BB1.
Když 1NB1>=
potom an=an+1
a opětovně odečítám váhu
. V opačné případě t.j. 1NB1<=
nemůže být ve zbytku obsažena (nepřeváděli bychom již číslo kladné) a
přejdeme na hledání koeficientu an-1. Platí, že 2BB1=1NB1-
a opětovně an-1=an-1+1, když 2NB1>=
a nebo přejdeme na odčítání
nižší váhy, když 2NB1<
.
Algoritmus končí stanovením koeficientu a0.
Z
uvedeného vyplívá, že koeficient an představuje kolikrát od čísla
NB1 mohu odečíst váhu
, aby výsledek byl kladný nebo se rovnal nule. Analogicky toto platí i pro zbývající
koeficienty.
Číslo N10 = 18610 převeďte do binární a oktální soustavy.
- převod do binární soustaby
Koeficienty an, an-1 ,..., a1, a0 mohou nabývat pouze hodnot 0 nebo 1 a odpovídající váhy mají hodnotu:
Váha | Rozdíl | Koeficient an |
28 = 256 | 186 - 256 = -70 | a8 = 0 |
27 = 128 | 186 - 128 = 58 | a7 = 1 |
26 = 64 | 58 - 64 = -6 | a6 = 0 |
25 = 32 | 58 - 32 = 26 | a5 = 1 |
24 = 16 | 26 - 16 = 10 | a4 = 1 |
23 = 8 | 10 - 8 = 2 | a3 = 1 |
22 = 4 | 2 - 4 = -2 | a2 = 0 |
21 = 2 | 2 - 2 = 0 | a1 = 1 |
20 = 1 | 0 - 1 = -1 | a0 = 0 |
Z tabulky vyplývá, že číslo 18610 = 101110102.
Předpokládáme, že máme číslo N o základu B1 a chceme ho vyjádřit v základu B2.
Odvození metod převodu vychází ze zápisu čísla v novém základu
Jestliže tento výraz budeme dělit základem B2, výsledkem bude podíl P0 a zbytek Z0, pro které bude platit Z1<B2. Můžeme proto psát, že
resp.
přičemž je zřejmé, že platí
a tedy zbytek Z0 představuje přímo koeficient a0. Pro polynom P0 platí
Ke stanovení koeficientu a1 vydělíme podíl P0 základem a dostaneme
odkud
Dalším dělením podílu P1 základem B2 získáme postupně koeficienty a2, a3... hledaného čísla v pořadí od nejnižšího k nejvyšší váze.
Vyjádřete číslo 173910 v hexadecimálním základu.
Dílčí podíl Pn | Zbytek Zn | Koeficient an |
1739 : 16 = 108 | 11 | a0 = B |
108 : 16 = 6 | 12 | a1 = C |
6 : 16 = 0 | 6 | a2 = 6 |
Z tabulky je zřejmé, že číslo 173910 = 6CBH.