Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

Вопрос про округление.   Найти похожие ветки 

 
12345   (2005-02-03 12:57) [0]

Есть три целых: x y z. Есть действительное число a.
Вопрос - насолько будут отличатся величины:
Round(ax)+Round(ay)+Round(az) от Round(ax+ay+az)?

Чувствую, что максимум на единицу, а доказать не могу. Кто-нибудь может?

Спасибо.


 
TUser ©   (2005-02-03 13:04) [1]

Да нет, может на 2 отличаться, если имеется в виду Round из Delphi и не использован SetRoundingMode.


 
raidan ©   (2005-02-03 13:56) [2]

Не может на два.


 
Ega23 ©   (2005-02-03 14:04) [3]

ax=0.5, ay=0.5, az=1


 
raidan ©   (2005-02-03 14:30) [4]

Точно, я тупица.

memo1.Lines.Add(inttostr(round(1.5)+round(1.5)+round(1.5)));
memo1.Lines.Add(inttostr(round(1.5+1.5+1.5)));


 
12345   (2005-02-04 19:30) [5]

Ну хорошо - максимум на два. А доказать это можно?
А то вдруг пример найдется где и на три.


 
default ©   (2005-02-04 21:03) [6]

а почему когда целая часть числа чётная при дробной части 0.5
Round округляет в меньшую сторону, а когда нечётная при той же дробной части - в большую?


 
begin...end ©   (2005-02-04 21:17) [7]

> [6] default ©   (04.02.05 21:03)

Из хелпа:

If X is exactly halfway between two whole numbers, the result is always the even number. This method of rounding is often called "Banker’s Rounding".


 
default ©   (2005-02-04 21:27) [8]

а нафиг так сделано?
такая фигня происходит потому что там FISTP используется, а не FRNDINT


 
default ©   (2005-02-06 18:21) [9]

вот тут объяснение если кому интересно
http://delphimaster.net/view/15-1107547412/



Страницы: 1 вся ветка

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
14-1107155585
TUser
2005-01-31 10:13
2005.02.20
Бейсик


1-1107727510
Raider
2005-02-07 01:05
2005.02.20
Как сделать так


3-1106545295
Layner
2005-01-24 08:41
2005.02.20
Мастера, посоветуйте, как расшифровать выборку на клиенте


9-1100511944
Xenon
2004-11-15 12:45
2005.02.20
Скролл экрана


3-1106348562
NeedHelp
2005-01-22 02:02
2005.02.20
data.MB zanimaet 16 MB ?? 4to delat ??? eto ved mnogo =(