Название: Что за странный глюк Отправлено: Даниил от Февраль 25, 2012, 04:54 Приветствую всех.
Писал очередную курсовую и возникли траблы с округлением чисел. Конкретно. Код По идее, код должен выводить дробную часть числа, отрезая на каждом шаге старший разряд. Но, вывод представляет собой нечто оригинальное: Код: 0 : 0.14 Название: Re: Что за странный глюк Отправлено: Blackwanderer от Февраль 25, 2012, 06:51 Что написали, то и получили
Шаг первый: Код Шаг второй: Код
Название: Re: Что за странный глюк Отправлено: Igors от Февраль 25, 2012, 11:14 Напомним что floor(-3.14) = -4.0. Поэтому лучше без него
Код
Название: Re: Что за странный глюк Отправлено: Даниил от Февраль 25, 2012, 14:30 Что написали, то и получили Не получаем того, что писали. Прочитайте еще раз вывод.Напомним что floor(-3.14) = -4.0. Поэтому лучше без него Спасибо, как работает flloor - помню, не суть важна. Суть - почему вывод дает кривой?!modf(), кстати тоже беду подобную выдавал. Название: Re: Что за странный глюк Отправлено: mutineer от Февраль 25, 2012, 14:34 Что написали, то и получили Не получаем того, что писали. Прочитайте еще раз вывод.Напомним что floor(-3.14) = -4.0. Поэтому лучше без него Спасибо, как работает flloor - помню, не суть важна. Суть - почему вывод дает кривой?!Что написал, то и получил. Если тебя смущает единица в 0.400001, то так уж работает float Название: Re: Что за странный глюк Отправлено: Даниил от Февраль 25, 2012, 14:35 Что написали, то и получили Не получаем того, что писали. Прочитайте еще раз вывод.Напомним что floor(-3.14) = -4.0. Поэтому лучше без него Спасибо, как работает flloor - помню, не суть важна. Суть - почему вывод дает кривой?!Что написал, то и получил. Если тебя смущает единица в 0.400001, то так уж работает float Название: Re: Что за странный глюк Отправлено: mutineer от Февраль 25, 2012, 14:37 Так работает и double. Это закономерность?! т.е. типа все в порядке? Да, таковы особенности работы чисел с плавающей запятой на современных архитектурах. подробности подскажет гугл |