[devel] [JT] Вопрос про работу ceil() из ANSI C, баг или не баг?

thecrux на gmail.com thecrux на gmail.com
Ср Окт 19 12:33:02 UTC 2011


On Wed, Oct 19, 2011 at 12:16:49PM +0300, Igor Zubkov wrote:
> 2011/10/19 Anatoly Lyutin:
> > 19.10.2011 13:11, Denis  Medvedev пишет:
> >>
> >> Все нормально.
> >> Результат целочисленного деления 5/2 = 2
> >> ceil(2)=2
> >> Результат плавающего деления 5.0/2 =2.5
> >> ceil(2.5)=3
> >
> > Да, точно, перегрелся.
> > Если сделать ceil(5/2.0), то всё работает правильно, конечно.
> 
> В ruby так же:
> ruby-1.8.7-p352 :001 > 5/2
>  => 2
> ruby-1.8.7-p352 :002 > 5/2.0
>  => 2.5
> ruby-1.8.7-p352 :003 >

а Perl ведёт себя так, только если использовать прагму integer

say 5/2;    # 2.5

use integer;
say 5/2;    # 2


а в python даже придумали оператор //

>>> 5//2.0
2.0

-- 
Vladimir Lettiev aka crux ✉ theCrux на gmail.com


Подробная информация о списке рассылки Devel