Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Варианты решения задачи сравнения вещественных чисел. [D7, WinXP]


Страницы:   1 2 3

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]
Ваш коронный метод мне не подошёл.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо