Если вы хотите отменить операцию, подобную этой, одним из способов является использование структуры данных стека.
Вместо того, чтобы печатать значения в вашем основном цикле, поместите их в стек.
Затем, когда вы закончите, вытолкните элемент из стека и распечатайте его, затем продолжайте делать это, пока стек не опустеет.Стек известен как структура LIFO («последний пришел - первый вышел») и представляет собой удобный способ хранения вещей для последующего извлечения в обратном порядке их создания.
Псевдокод:
def baseConv (n):
create stack s
while n > 0:
push n % 2 onto s
n = n >> 1
while not empty(s):
pop n from s
print n
Я также должен добавить, что утверждение:
if (n == 0);
на самом деле не делает ничего полезного.