Kody i szyfry
2. Kody numeryczne i arytmetyka cyfrowa
2.4. Konwersja naturalnych zapisów wagowych
Chcemy przejść z zapisu naturalnego wagowego z wagą W1 na zapis naturalny wagowy z wagą W2. Postępujemy według schematu
Zapis akak-1...a0 z wagą W1 wartość m Zapis a'rar'-1...a'0 z wagą W2
(1) Obliczamy po prostu wartość m zgodnie ze wzorem
m = akW1k + ak-1W1W-1 + ... a1W + a0
Wygodnie w tym celu posłużyć się schematem Hornera, czyli algorytmem obliczenia wartości wielomianu akxk + ak-1xk-1 + ...a0 w punkcie x.
Schemat Hornera: (...((akx + ak-1)x + ak-2)x + ... + a1)x + a0 = akxk + ... + a0
(2) Dzielimy z resztą liczbę m przez W2 otrzymując ciąg reszt a'rar'-1...a'0 , dokładniej:
m = m1⋅ W2 + a'0
m1 = m2 ⋅ W2 + a'1
m2 = m3⋅ W2 + a'2
.
.
.
mr-1 = mr⋅ W2 + a'r-1
itd. aż kolejne mr = 0 co stanowi regułę stopu algorytmu konwersji.
Ostatecznie uzyskujemy zapis a'rar'-1...a'0 z wagą W2