Zamiana z dowolnego systemu na dziesiętny

Schemat Hornera i działania w innych systemach liczbowych - Algorytmy: zakres rozszerzony (Python)

Zapis liczby w systemie o podstawie p to współczynniki wielomianu, w który podstawiamy x = p: 7E9 (szesnastkowo) = 7 * 16^2 + 14 * 16 + 9. Schemat Hornera daje wartość dziesiętną od razu, cyfra po cyfrze od lewej.

DIGITS = "0123456789ABCDEF"


def to_decimal(text, base):
    value = 0
    for digit in text:
        value = value * base + DIGITS.index(digit)
    return value


print(to_decimal("101101", 2))
print(to_decimal("777", 8))
print(to_decimal("7E9", 16))

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Algorytmy: zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.