В общем есть задача на перевод с одной системы счисления в другие, где нужно использовать длинную арифметику (деление длинного на короткое). Само деление я смог написать, но не могу правильно повторять его и брать остаток (делю число в десятичной системе). Не буду писать много, чтобы не запутать, ниже опишу лишь цикл деления и его переменные.
for(int i = 0; i<count; i++) {
rez[i] = (long_dv[i] + ost * 10);
ost = rez[i] % sys_sch;
rez[i] = rez[i] / sys_sch;
}
/* count - количество цифр числа, rez[i] - массив
с частным от деления, long_dv - массив, где лежит число
(в десятичной системе) ost - остаток от деления, sys_sch -
система счисления, в которую нужно перевести (ну, или просто делитель, по-сути).
*/
Понимаю, что если первые элементы меньше делителя, то на начале будут нули, но сам массив отдельно сдвинуть я смогу, проблема не в этом. Весь этот цикл нужно взять в еще один, который будет выполнятся до тех пор, пока число не "доделится" полностью, и не будет заполнен массив "остатков" от каждого деления. Но как узнать нужное количество итераций - я понять не могу. Буду очень благодарен за помощь, скажу честно, что на задачу убиваю уже второй день.