Witam. Jestem początkującym programistą i proszę o pomoc. Chcę porównać dwie liczby typu double. Na jednym forum przeczytałem:
"a=0
b=0
( a==b ) zwróci false, ponieważ
a= 0.0000001234
b= -0.0000000567
(przykład nie zachodzi, jeśli go skompilujesz, ale ukazuje problem, ideę)
Ponieważ liczby rzeczywiste posiadają reprezentację przybliżoną"
Czy rzeczywiście jest tak, że nie można porównywać ze sobą dwóch liczb typu zmiennoprzecinkowego (nawet jeśli powinny być równe), bo posiadają reprezentację przybliżoną? W różnych źródłach czytałem, że takie porównanie nie ma sensu. Ale sprawdziłem to w Dev-C++ i zwraca true, a nie false jak podobno miało zwrócić, a wypisując liczby a oraz b otrzymujemy równe 0, a nie coś bliskiego 0.