Итак просидев над это темой очень много времени, я так и не смог осознать, каким образом получается эта магия.
octalNumber = (int) (octalNumber + (decimalNumber % 8) * Math.pow(10, i++));
            decimalNumber = decimalNumber / 8;
Со второй строчкой все понятно, а вот с первой нет. Смысл тут в том, что используя исключительно арифметику, мы получаем нужно число. Обычно большая часть примеров на тех или иных языках, что я находил пользовались алгоритмом с сохранением остатка от деления в целочисленный массив или строчный, а потом как либо его переворачивали(зеркалили, инвертировали \\как вам будет удобно),тем самым получая нужно число. Я посмотрел много примеров на ютубе по написанию конвертеров и объяснений о том, как выполнять переводы, и что нет прямого перевода из 8 в 16(и обратно),нужно пользоваться триадами и тетрадами. и так далее и тому подобное. Все это я гуглил, яндексил и даже читал темы по этой задаче тут на раше. я получил знание, как механически подставить под алгоритм значения и получить результат. Но абстрактную(или как правильно это назвать?) модель не уловил. Прошу, кто может покидайте материал для чтения или по возможности попытайтесь изложить смысл в своей интерпретации.