Я знаю, что я читал о различии между двойной точностью и одинарной точностью и т.д. Но они должны давать одинаковые результаты в большинстве случаев правильно?
Я решал проблему на конкурсе программирования, и были вычисления с числами с плавающей запятой, которые были не очень большими, поэтому я решил использовать float вместо double, и я проверил его - я получил правильные результаты. Но когда я отправляю решение, он сказал, что только 1 из 10 тестов были правильными. Я проверил снова и снова, пока не обнаружил, что использование float не совпадает с использованием double. Я поместил double для вычислений и удвоил для вывода, и программа дала результаты SAME, но на этот раз правильно провела все 10 тестов.
Повторяю, результат был SAME, результаты были одинаковыми, но при этом float не работал - только удвоить. Значения не были слишком большими, и программа дала те же результаты в тех же тестах как с float, так и с двойным, но онлайн-судья принял только решение с двойным предоставлением.
Почему? В чем разница?