Metoda násobení základem

Z Wikipedie, otevřené encyklopedie

Tato metoda je určena pro převod desetinných (anglicky fractional) čísel mezi soustavami.

[editovat] Postup

Celé číslo vyjádřené na m platných číslic polynomem dle vzorce: A_F = \sum_{i=-1}^{-m}a_i{\cdot}r_A^i = a_{-1}{\cdot}r_A^{-1}+a_{-2}{\cdot}r_A^{-2}+...+a_{-l-1}{\cdot}r_A^{-m-l}+a_{-m}{\cdot}r_A^{-m}\,\!

Vztah lze přepsat podle základu soustavy, do které chceme číslo převést tak, aby se základy vyskytovaly bez mocnin: A_F = r_B^{-1}{\cdot}(a_{-1}+r_B^{-1}{\cdot}(a_{-2}+...+r_B^{-1}{\cdot}(a_{-n-1}+r_B^{-1}{\cdot}a_{-n}))) = 0{,}b_{-1}b_{-2}...b_{-n} = B_F\,\!

Výsledkem převodu je desetinné číslo, které má jednotlivé výsledné číslice zapsané pozičně.

Příklad: (0{,}625)_{10} = 2^{-1}{\cdot}(1+2^{-1}{\cdot}(0+2^{-1}{\cdot}(1+2^{-1}{\cdot}1))) = 1{\cdot}2^{-1}+0{\cdot}2^{-2}+1{\cdot}2^{-3} = (0{,}101)_2\,\!

Způsob jak vyjádřit číslo v požadovaném tvaru (nejvyšší významový bit lze nalézt vynásobením desetinného čísla základem): A{\cdot}r_B = r_B{\cdot}(r_B^{-1}{\cdot}(a^{-1}+r_B^{-1}{\cdot}(a_{-2}+...+r_B^{-1}{\cdot}(a_{-m-l}+r_B^{-1}{\cdot}a_{-m})))) = r_B{\cdot}a_{-1}+r_B{\cdot}(r_B^{-1}{\cdot}(a_{-2}+...+r_B^{-1}{\cdot}(a_{-m-l}+r_B^{-1}{\cdot}a_{-m})))\,\!

Platí, že každá číslice je počítána postupným (iteračním) násobením desetinného výsledku předchozí iterace základem soustavy, do které chceme číslo převést. Po každém iteračním kroku se sepisuje celočíselná část výsledku a převod končí, když je výsledek násobení roven nule nebo se nedosáhne požadované přesnosti.

Příklad:
(0{,}6875)_{10}{\cdot}2 = 1{,}375 = 1 + 0{,}375 = b_{-1} + 0{,}375\,(MSB)\,\!
(0{,}375)_{10}{\cdot}2 = 0{,}75 = 0 + 0{,}75 = b_{-2} + 0{,}75\,\!
(0{,}75)_{10}{\cdot}2 = 1{,}5 = 1 + 0{,}5 = b_{-3} + 0{,}5\,\!
(0{,}5)_{10}{\cdot}2 = 1{,}0 = 1 + 0{,}0 = b_{-4} + 0{,}0\,(LSB)\,\!
(0{,}6875)_{10} = (0{,}1011)_2\,\!