Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > проблема с дробной частью чисел


Автор: Noname2512 2.8.2011, 12:24
у меня есть прога которая берет дабл и разделяет его на две сост. целое и дробное
Код

this->z = int(d);
this->p = ( d - int(d) )*100+0.5;

объясните почему без "+0.5" ничего не работает для чисел чья дробная часть( нечетная и меньше равна 0.9 )?


Автор: bsa 2.8.2011, 13:10
Noname2512, что значит "ничего не работает"? Я так понимаю, ответ отличается на 1?
Ты знаешь, что при преобразовании к целому, число округляется В МЕНЬШУЮ СТОРОНУ? А то что компьютеры оперируют не десятичными дробями, а двоичными, тоже знаешь? А ты знаешь, что 11.0 может быть на самом деле 11.00000000001?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)