Zamiana systemów

Powtórzenie: systemy liczbowe i reprezentacja danych - Informatyka - liceum klasa 4, zakres rozszerzony (Python)

Przypomnienie: zapis liczby `n` w systemie o podstawie `p` dają **reszty z dzielenia** przez `p` czytane od końca, a wartość zapisu liczy **schemat Hornera**: `wynik = wynik * p + cyfra` dla kolejnych cyfr od lewej. Cyfry powyżej 9 to litery `A`, `B`, ...

DIGITS = "0123456789ABCDEF"

def to_base(n, p):
    if n == 0:
        return "0"
    s = ""
    while n > 0:
        s = DIGITS[n % p] + s
        n //= p
    return s

def from_base(s, p):
    value = 0
    for c in s:
        value = value * p + DIGITS.index(c)
    return value

print(to_base(2026, 2), to_base(2026, 8), to_base(2026, 16))
print(from_base("7EA", 16), from_base("11111101010", 2))

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

Wszystkie lekcje kursu Informatyka - liceum klasa 4, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.