![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Варианты решения задачи сравнения вещественных чисел. [D7, WinXP]
Zheksik © (2008-01-08 11:03:00)Прочитал статью посвящённую этой теме и пришёл к выводу, что должен быть не один вариант решения этой задачи. Мой вариант - это умножение до получения целого числа. Какие ещё есть варианты?
sniknik (2008-01-08 18:29:00) [1]> Просто здесь стало "хорошей" традицией поучать и оскорблять всех, кто задаёт простой вопрос.
просто, хоть раз, постарайся задать правильный вопрос... пусть даже простой. и увидишь как, о чудо!, "традиция" по отношению к тебе изменится.
если получится задать конечно.
а уж получиться то и ответы начнешь понимать вместо того чтобы считать их оскорблениями в свой адрес... (чтобы задать вопрос нужно знать большую половину ответа © Шекли)
Германн (2008-01-08 18:05:00) [2]
> Zheksik © (08.01.08 17:53) [47]
А ты так и не понял что более правильных решений, а уж тем более идеальных нет и быть не может.
Dennis I. Komarov (2008-01-08 18:05:00) [3]> [47] Zheksik © (08.01.08 17:53)
но ты не смох понять (и наверное не сильно старался) ответы.
[1], [5], и даже [15]
Zheksik (2008-01-08 17:53:00) [4][46]
интересная интерпретация моих слов.
так я с себя и начал.
начал с ветки для начинающих
начал со своего варианта решения и с признания, что он не идеален.
начал с вопроса к людям которые занют более правильные варианты решения. при том, что вопрос никого не обязывает отвечать на него.
я же не просил за меня сделать курсовой по программированию, при том, что я не знаю даже зачемbeginиend;
Просто здесь стало "хорошей" традицией поучать и оскорблять всех, кто задаёт простой вопрос.
Dennis I. Komarov (2008-01-08 17:40:00) [5]> [45] Zheksik © (08.01.08 17:33)
Не надо плакать, надо искать проблему, и начать надо с себя!
Zheksik (2008-01-08 17:33:00) [6]Кстати, много людей здесь считают себя профессионалами, ну это и не удивительно, тем более что в ветке для новичков это особенно подчёркивается, но почему не видно интеллигенции, которая бы и зарвавшихся новичков могла угомонить и профессионалов, которые непозволительно грубо общаются с новичками...
Zheksik (2008-01-08 17:23:00) [7]Обращаюсь к тем, кому не нужно из себя чего-то корчить, тобы что-то представлять из себя:
Спасибо тем, кто знал правильный ответ и помог, несмотря на мою слабую подкованность.
Спасибо тем, кто знал правильный ответ, но не стал ничего объяснять, т.к. посчитал, что проще табуретке что-то объяснить, чем мне эту тему.
Спасибо тем, кто ничего не понял и промолчал.
Позор всем тем, кто ничем не помог, а только попытался самоутвердиться на том, что больше меня понимает в этой теме... Ну чтож, нужно же хоть как-то самоутверждаться... Не рваными же носками и нерасчёсанной причёской это делать...
Dennis I. Komarov (2008-01-08 16:53:00) [8]> [40] Zheksik © (08.01.08 16:37)
поэтому повиснуть можно на орешнике, а Вы имеено кушатьне хотите.
Ну и как обычно высшее образование о многом говорит :)
Германн (2008-01-08 16:39:00) [9]
> так я и не прошу тех кому лень... просто раз уж есть форум,
> то я думал, что на нём можно задавать вопросы...
Ну а что же ты хочешь? Если ты не понимаешь простых ответов? Ведь сам же уже давно дал правильный ответ.
> В моём случае точность определяется сотыми долями числа,
> поэтому остаток роли не играет...
sniknik (2008-01-08 16:39:00) [10]> Ну тады так:
> const
> _123 : Single = 1.39857;
тады будет равно!
проверь
const
_123: Single = 1.39857;
var s, p: single;
begin
s:= 1.39850;
p:= 0.00007;
s:= s + p; //"типа вычисление"
if s = _123 then ShowMessage('1 Равно!');
end;
Zheksik (2008-01-08 16:37:00) [11]так я поэтому в новичках и повис с этим вопросом... ;)
Dennis I. Komarov (2008-01-08 16:35:00) [12]> [37] Zheksik © (08.01.08 16:34)
Это все потому, что "бутерброд" не правильно кушаете.
Dib@zol (2008-01-08 16:34:00) [13]> [36] sniknik © (08.01.08 16:33)
Ну тады так:
const
_123 : Single = 1.39857;
Zheksik (2008-01-08 16:34:00) [14]Dib@zol © (08.01.08 16:30) [34]
> Просто тем, кто здесь пишет, лень что-то Вам объяснять.
> И я их понимаю.
так я и не прошу тех кому лень... просто раз уж есть форум, то я думал, что на нём можно задавать вопросы... Я задал вопрос, пусть и простой для кого-то, а в ответ услышал кучу оскорблений...
sniknik (2008-01-08 16:33:00) [15]> а потом сравнивать его с константой, равной 1.39857
константа это не "однотипная" переменная, она приводится к какомуто общему(екстендед), а я говорил про однотипные.
sniknik (2008-01-08 16:30:00) [16]> то я бы не сказал, что они окажутся абсолютно равны из-за погрешности.
значит они не "абсолютно равны", и скорее всего и твой алгоритм тоже выявит нисхождение.
кстати в статье, на которую ссылаются это есть, не буду искать но там есть типа такого пример
var s, p: single;
begin
s:= 0.1;
p:= 0.1;
if s = 0.1 then ShowMessage('1 Равно!');
if s = p then ShowMessage('2 Равно!');
end;
догадайся с двух раз что будет. ;)
Dib@zol (2008-01-08 16:30:00) [17]> [33] Zheksik © (08.01.08 16:27)
> Германн © (08.01.08 16:21) [28]
> Сразу было видно, что Вам не подойдёт...
Угомонитесь, сэр :) Просто тем, кто здесь пишет, лень что-то Вам объяснять. И я их понимаю. НГ как-никак недавно был... А я просто к олимпиаде готовлюсь =)
Zheksik (2008-01-08 16:27:00) [18]Германн © (08.01.08 16:21) [28]
Сразу было видно, что Вам не подойдёт...
Dib@zol (2008-01-08 16:26:00) [19]> т.к. у одинаковых чисел и погрешность будет одинаковая.
хм... не факт. Если например получать число 1.39857 вычислениями, а потом сравнивать его с константой, равной 1.39857, то я бы не сказал, что они окажутся абсолютно равны из-за погрешности. Поэтому и призываю сравнивать мантиссы до определённого знака. Ща кстати мож на асме алгоритмчик накидаю.
Zheksik (2008-01-08 16:26:00) [20]Dib@zol © (08.01.08 16:18) [24]
спасибо. видно, что профессионал...
sniknik © (08.01.08 16:19) [26]
Кто тебе дал право так разговаривать с людьми???
Германн © (08.01.08 16:18) [25]
Ваш коронный метод мне не подошёл.