Для школьного проекта у меня есть простая программа, которая сравнивает 20х20 фотографий.Я положил 20 фотографий, а затем я поставил 21-ую фотографию, которая сравнивается с существующими 20-ю, и выскакивает ответ, какую фотографию я вставил (или какая наиболее похожа).Проблема в том, что мой учитель хотел, чтобы я использовал алгоритм ближайшего соседа, поэтому я считаю расстояние от каждой фотографии.У меня все работает, но дело в том, что если фотографии слишком похожи, у меня возникает проблема с тем, чтобы сказать, какая из них ближе к моей.Например, я получаю эти расстояния с двумя разными фотографиями (ну, они ПОЧТИ одинаковы):
0 distance: 1353.07982026191
1 distance: 1353.07982026191
Это уже 15 цифр, и я использую тип double
.Я читал, что long double
то же самое.Есть ли какой-нибудь "простой" способ хранить числа с более чем 15 цифрами и делать с ними математику?
Я считаю расстояние, используя евклидово расстояние Мне просто нужно быть более точным, или это ограничение, которое я, вероятно, не будупройти здесь, и я должен поговорить с моим учителем, я не могу сравнить такие похожие фотографии?