Probabilmente, hai in mente qualcosa come le seguenti linee di codice (scrivendo in Java, ma sarà simile in altre lingue):
String octalText = "1357";
int value = Integer.parseInt(text, 8);
String hexText = Integer.toString(value, 16);
E sì, è un processo in due fasi, converte da una rappresentazione di testo in base-8 "1357" del numero 751 al valore interno della macchina, e quindi in una seconda fase dal modulo interno alla base- 16 modulo di testo "2ef".
Per le conversioni tra le basi numeriche, questo è il modo standard per farlo. Naturalmente, è possibile scrivere funzioni che effettuano la conversione in una sola chiamata:
String convertBase(String textIn, int baseIn, int baseOut)
ma nel caso generale, la conversione dei sistemi numerici implica un sacco di calcoli e il calcolo avviene nel modo più efficiente all'interno della macchina, così efficacemente farà qualcosa di molto simile al processo in due fasi internamente.
In alcuni casi speciali, una conversione in forma di testo può essere eseguita in modo più efficiente rispetto ai numeri interni della macchina e, per la conversione da base 8 a base 16, l'approccio alla tabella di ricerca menzionato da Kendall sembra promettente .