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.