Как я понял, вы имели ввиду 'пока b не станет равным нулю', иначе задача не имеет решения потому что программа будет выполняться бесконечно, пока попросту не крашнется... ведь b никогда не примет отрицательного значения(за исключением того случая когда b изачально отрицательно)
a = 5
b = 120
while b != 0:
a = a%2
b = b // 2
print(a, b)
Вот код для случая если все-таки условие: пока b не станет равным нулю
Объяснение: