학교 프로젝트의 경우 20x20 사진을 비교하는 간단한 프로그램이 있습니다. 저는 20 장의 사진을 넣은 다음 21 장의 사진을 넣어 기존의 20 장과 비교해 보았습니다. 삽입 한 사진 (또는 어느 사진이 가장 비슷합니까?)을 대답으로 나타냅니다. 문제는 선생님이 가장 가까운 이웃 알고리즘을 사용하기를 원했기 때문에 모든 사진에서 거리를 계산하고 있습니다. 나는 모든 것을 작동시키지 만 문제는 사진이 너무 유사하다면 어떤 사진이 내 사진에 더 가깝습니까? 예를 들어 나는 2 개 개의 다른 사진 (물론, 그들은 거의 동일)와이 거리를 얻을 :CLI/C++ 15 자리 이상의 부동 소수점을 저장하는 방법은 무엇입니까?
0 distance: 1353.07982026191
1 distance: 1353.07982026191
그것은 이미 15 자리 숫자를, 그리고 난 double
유형을 사용하고 있습니다. 나는 그 long double
가 동일하다는 것을 읽고 있었다. 15 자리 이상의 숫자를 저장하고 수학을 수행하는 "쉬운"방법이 있습니까?
나는 유클리드 거리 난 그냥 더 정확하게해야하거나 그게 내가 아마 실 거예요 여기에 통과 제한 를 사용하여 거리를 계산하고, 나는 그런 비슷한 사진을 비교하지 못할 선생님에게 이야기해야합니까? gmplib.org
도이 사이트에이 라이브러리를 설치하는 방법을 가이드가있다 :
제곱근을 취할 필요가 없습니다. 동일한 해답 대신 제곱 된 차이를 비교할 수 있기 때문입니다. 또한 여기에 15 자리 이상의 유효 숫자가 반드시 필요하지 않습니다. 두 장의 그림이이 정밀도와 동일한 경우 똑같이 가까운 것으로 취급하십시오. – TonyK