Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.76
ITcrusader
Эксперт C++
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
#1

Сравнение вещественных чисел - C++

06.03.2013, 12:27. Просмотров 2326. Ответов 3
Метки нет (Все метки)

Привет, ребят! Нужна ваша мудрость.

На днях думал о реализации класса complex<class scalar> из std и о реализации класса 3D-точек, который хавал бы при инстанцировании, подобно complex, тип скаляра (float, double...).

Возник вопрос - никак не выходит из головы: а действительна ли корректна реализация, скажем, operator== посредством сравнения координат в составе класса с помощью ==, ведь координаты представлены числом с плавающей точкой. Что-то у меня в голове переклинило и думается, что могуч был бы иной вариант сравнения - с использованием, скажем, проверки того, не превышает ли расстояние между сравниваемыми точками некоторого заданного оч. маленького числа?

Напишите, пожалуйста, свои соображения на этот счет. Может я просто переработал?

Буду благодарен за ответы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2013, 12:27     Сравнение вещественных чисел
Посмотрите здесь:

Сравнение двух вещественных чисел - C++
Почему не работает сравнение при числах: 2.85730505 2.85729861 bool isEqual( float x, float y ) { return std :: fabs( x -...

Перевод вещественных из системы в систему, сравнение вещественных - C++
Есть задача: задаются в восьмеричной системе число а, число b, число h, нужно отобразить все числа от a до b с шагом h в восьмеричном и...

Среди 5 вещественных чисел найти количество чисел, принадлежащих отрезку от -5 до 7 - C++
Написать программу которая среди 5 вещественных чисел находит кол-во чисел принадлежащих отрезку от -5 до 7

Ввести целое число и набор из вещественных чисел, вывести сумму и произведение чисел из набора - C++
ввести целое число N (больше 0) и набор из N вещественных чисел вывести сумму и произведение чисел из данного набора

В последовательности вещественных чисел подсчитать произведение чисел, кратных 3 - C++
В последовательности вещественных чисел подсчитать произведение чисел, кратных 3.

Деление вещественных чисел - C++
Есть float a,b,rez; Делю 4 на 2 = 2 все нормально. 2 на 4 ответ 0 Как правильно делить вещественные числа в с++?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13063 / 7326 / 817
Регистрация: 27.09.2012
Сообщений: 18,085
Записей в блоге: 3
Завершенные тесты: 1
06.03.2013, 12:36     Сравнение вещественных чисел #2
Так залезьте в файл и посмотрите. Это же шаблонный класс.
ITcrusader
Эксперт C++
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
06.03.2013, 13:13  [ТС]     Сравнение вещественных чисел #3
Залез - лучше бы не лез туда, спал бы спокойнее.
Там чёрт ногу сломит, как ваще можно было написать такую жесть
в общем, не увидел ничего, что свидетельствует о каком-то особом способе сравнения на равенство.
Зато, погуглив, обнаружил такую фигню, как
C++
1
std::numeric_limits<double>::epsilon()
. Короче, теперь еще больше вопросов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2013, 12:45     Сравнение вещественных чисел
Еще ссылки по теме:

Обработка вещественных чисел - C++
Дан текстовый файл, каждая строка которого содержит изображения нескольких чисел, разделенные пробелами (вещественные числа имеют ненулевую...

random вещественных чисел - C++
как сгенерировать случайное ВЕЩЕСТВЕННОЕ число в промежутке от 0 до 1 p=random(0,1);

Класс вещественных чисел - C++
Всем привет. Требуется выполнить задание, которое на фото (написать класс вещественных чисел). Код, который я написал смотреть ниже. Вот...

Представление вещественных чисел!!!!С++ - C++
Товарищи помогите,завтра сдавать задачу,а мозг взорвался(((как записать вещественные числа с произвольной точностью???Заранее благодарю!!

Дана последовательность из n вещественных чисел - C++
Дана последовательность из n вещественных чисел. Если в результате замены отрицательных элементов последовательности их квадратами элементы...

srand для вещественных чисел - C++
Здравствуйте! Необходима генерация случайных вещественных чисел (double, float). Функция srand возвращает только целое число. Есть ли ф-я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
11.03.2013, 12:45     Сравнение вещественных чисел #4
Цитата Сообщение от ITcrusader Посмотреть сообщение
Залез - лучше бы не лез туда, спал бы спокойнее.
Там чёрт ногу сломит, как ваще можно было написать такую жесть
Каждый раз, когда смотрю исходники стандартной библиотеки (что gcc-шные, что мелкомягкие), у меня возникает подозрение, что они пропущены через простенький обфускатор. Потому что сильно сомневаюсь, что так испоганить (внешне) исходный код человек не мог.
Цитата Сообщение от ITcrusader Посмотреть сообщение
в общем, не увидел ничего, что свидетельствует о каком-то особом способе сравнения на равенство.
Я тоже. Странно, что для double и long double имеется явная специализация, но операторов сравнения нет (т.е. используются те, которые перегружены для обобщённого std::complex<T>).
Yandex
Объявления
11.03.2013, 12:45     Сравнение вещественных чисел
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru