Bir sayıyı 10 tabanından başka bir tabana (örneğin ikili taban - ToBinary) bölme-kalan yöntemiyle dönüştürür.
Base Conversion, sayıların farklı sayı sistemlerinde ifade edilmesini sağlar. DSA kaynağında ToBinary adıyla geçen ikili tabana dönüşüm işlemi, sayının sürekli 2'ye bölünmesi ve kalanların tersten yazılması prensibine dayanır.
Bu yaklaşım herhangi bir b tabanına genel dönüştürücü olarak genelleştirilebilir. Sayı sürekli b tabanına bölünür, kalanlar toplanır ve sayı 0 olana kadar devam edilir.
Aşağıdaki uygulamalar PDF kaynaklarındaki pseudo kod akışını modern veri yapılarıyla ifade eder. Kenar durumları görünür bırakıldığı için örnekler doğrudan test edilebilir.
1function baseConversion(n: number, b: number): string {2 if (n === 0) return '0';3 if (b < 2 || b > 36) throw new Error('Base must be between 2 and 36');4 const digits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';5 let result = '', temp = Math.abs(n);6 while (temp > 0) {7 const rem = temp % b;8 result = digits[rem] + result;9 temp = Math.floor(temp / b);10 }11 return n < 0 ? '-' + result : result;12}Sayıyı ve hedef tabanı noktalı verir. Örnek: 156; 2 veya 255; 16
Sayıyı ve hedef tabanı noktalı verir. Örnek: 156; 2 veya 255; 16
En İyi Durum: O(log_b(n))
Ortalama Durum: O(log_b(n))
En Kötü Durum: O(log_b(n))
O(log_b(n)) - Bu algoritmanın karmaşıklığı belirtilmemiş.
Base Conversion (Taban Dönüşümü) Algoritması ile benzer veya alternatif olarak değerlendirilebilecek diğer başlıklar: