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ą W\overset{(1)}{\longrightarrow} wartość m \overset{(2)}{\longrightarrow} Zapis a'rar'-1...a'0 z wagą W

(1) Obliczamy po prostu wartość m zgodnie ze wzorem

m = akW1+ 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 + a= 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 = m⋅ 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