Текущий архив: 2005.10.30;
Скачать: CL | DM;
ВнизВещественные числа Найти похожие ветки
← →
Vladimir88 (2005-10-05 16:04) [0]Как правильно сравнивать вещественные числа
← →
MBo © (2005-10-05 16:10) [1]CompareValue из Math
← →
Jeer © (2005-10-05 17:02) [2]например:
EPS: Double = 1E-6; { error for compare float numbers}
function IsFloatEqu_(f1, f2: Extended): boolean;
begin
Result := (abs(f1-f2) < EPS);
end;
← →
Digitman © (2005-10-05 17:06) [3]
> Как правильно сравнивать вещественные числа
на какой предмет ?
если искл-но на предмет равенства. то
PSomeRealTypeValue(@Value1)^ = PSomeRealTypeValue(@Value2)^
← →
TUser © (2005-10-05 17:34) [4]> Digitman © (05.10.05 17:06) [3]
Не очень понятно, что имеется в виду.
> если искл-но на предмет равенства
Если равенство понимать по-человечески (равны с точностью до ошибки вычислений с плав. точкой), то не сработает
var s1, s2: single;
begin
s1:=0;
s2:=s1 + 1e-16;
if PSingle(@s1)^ = PSingle(@s2)^ then
writeln ("equal")
else writeln ("not equal");
end.
← →
злобная танька (2005-10-05 18:36) [5]гм.. можно вопрос?
А зачем Такие(@Штуки)^? что они делают?
чем плох вариант [2]?
← →
begin...end © (2005-10-05 18:40) [6]> злобная танька (05.10.05 18:36) [5]
В [3] приведён пример ТОЧНОГО сравнения двух вещественных чисел одинакового формата -- сравнения их внутренних представлений (содержимого переменных в памяти).
Страницы: 1 вся ветка
Текущий архив: 2005.10.30;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.039 c