Я нормализовал вектор и его длина должна быть 1. Но результат метода длины равен 0.99999982
Я не знаю, правильно это или неправильно. Но если я распечатаю, результат будет 1. Не 0.99999982 (напечатано cout)
Но откуда std :: cout знает, что это 1? [Это мой первый вопрос]
И еще один вопрос: почему результат сравнения функции ложен.
У меня есть метод сравнения, как показано ниже. И lhs - длина вектора, а rhs - всего 1.
return (fabsf(rhs-lhs) <= FLT_EPSILON) ? true : false;
Результат этого метода неверен.
Является ли длина нормализованного вектора уже неправильной, чтобы считаться нормализованной? или эпсилон слишком мал?
Что я не так сделал?