уменьшим систему счисления на 1
Вы предлагаете заменить несколько умножений и делений на гораздо большее количество инкрементов/декрементов. Это будет эффективнее только если на Вашем процессоре умножение и деление реализовано через примитивное сложение и вычитание.
Нет. Я не предлагаю заменять. Просто указываю на то, что движение "вниз" более предпочтительно. Так может быть реализовано одним делением и взятием остатка. Промежуточные переходы меня не интересуют. Но это справедливо для первого диапазона. Меня же интересует общий случай.
Под первым диапазоном я понимаю основания от
до
т.е.
если у меня есть 231 в 142-ричной системе счисления, то это
. И мне нужно перейти к 120-ричной системе счисления, то я знаю, что нужно к последнему разряду просто добавить
и проверить, что последний разряд не перешёл через основание.
. Можно наоборот, не добавлять, а вычитать (при переходе от 120- к 142-ричной).
P.S. Кстати, сейчас посмотрел - все числа что мне известны - нечётные, даёт ли это выигрыш? также как неясно есть ли выигрыш от чётного основания системы?