Ребят. Всем привет. Задача в K&R. Доработать функцию itoa() что б она могла правильно число 2^256 перевести ее в строку. Если взглянуть на цикл в itoa можно заметить инвариант n/=10>0 при этом условии результат тот что описан ниже в скрине,при условии n/=10>1 результат тот что нужен. Почему инвариант срабатывает не смотря что n равен 0 через некоторое количество итераций?
UDP:
Понял что в инварианте он сравнивает 0 double с 0 int. Получается что вещественный гуль и целый в битовом представлении разный? Если привести выражение n/=10 к int то все работает