Z dowolnego systemu na dowolny
Działania na liczbach w innych systemach w programie - Informatyka - liceum klasa 1, zakres rozszerzony (Python)
Mając `from_base` i `to_base`, zamiana między dowolnymi systemami to dwa kroki **przez liczbę**: najpierw tekst w systemie `b1` zamieniamy na liczbę, potem liczbę na tekst w systemie `b2`. Przykład praktyczny: kolor na stronie WWW to trzy bajty (czerwony, zielony, niebieski) zapisane szesnastkowo po dwie cyfry, np. `#FF8000` to `(255, 128, 0)`.
DIGITS = "0123456789ABCDEF"
def to_base(n, b):
if n == 0:
return "0"
result = ""
while n > 0:
result = DIGITS[n % b] + result
n = n // b
return result
def from_base(s, b):
value = 0
for ch in s.upper():
value = value * b + DIGITS.index(ch)
return value
def convert(s, b1, b2):
return to_base(from_base(s, b1), b2)
print(convert("11111111", 2, 16))
print(convert("777", 8, 2))
color = "FF8000"
print(from_base(color[0:2], 16), from_base(color[2:4], 16), from_base(color[4:6], 16))Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Informatyka - liceum klasa 1, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.