Převod soustav
O(log_b(a))Každé kladné celé číslo lze jednoznačně zapsat v libovolné soustavě se základem b ≥ 2 opakovaným dělením základem a sbíráním zbytků. Každý zbytek je jedna cifra výsledku v nové soustavě — vznikají od nejméně významné; obrácením pořadí dostaneme výsledný zápis. Pro základy nad 9 se cifry 10–15 zapisují písmeny A–F (hexadecimální konvence). Tento algoritmus stojí za binárním, oktalovým a hexadecimálním zápisem čísel v informatice.
Posloupnost
Stiskni ▶ a spusť
Uprav vstup a stiskni Přehrát
Jak to funguje
- Omezíme základ na rozsah 2–16
- Vydělíme a základem; zbytek je další cifra (od nejméně významné)
- Cifru přidáme na začátek výsledku; a nahradíme podílem
- Opakujeme, dokud a ≠ 0; sebrané cifry tvoří zápis v nové soustavě
Pseudokód
1toBase(a, base): # O(log_base(a))2 base = clamp(base, 2, 16)3 digits = []4 while a > 0:5 digits.prepend(DIGITS[a % base]) # least-significant first → prepend6 a = floor(a / base)7 return digits.join("")