본문 바로가기

LANGUAGES, METHODLOGY

[JAVA] 입력된 데이터의 범위값을 새롭게 조정할때 remap 공식을 쓰자

만약 a부터 b까지의 범위로 들어오는 데이터가 있는데, 이를 보내는 쪽에서 조절해 줄 수 없고


받는 쪽에서는 A부터 B까지의 범위로 늘리고 싶다면 간단한 공식을 통해 이를 해결할 수 있다.



A + (value - a) * (B - A) / (b - a)


value는 기존에 들어오는 데이터로, 위 공식의 결과값은 리매핑된 데이터 값이 된다.


자바에 다른 리매핑 함수가 있는지는 잘 모르겠지만, 이 공식을 간단히 코드를 통해 구현하는 것 만으로


원하는 리매핑 값을 구할 수 있게 된다.


주의할 점은 기존에 입력값의 범위, 즉 a부터 b까지의 데이터 범위를 제대로 알고 사용해야


올바른 리매핑 값이 도출된다는 것이다. 예를들면 a부터 b까지로 범위를 설정했는데 b 이상으로


넘어가는 값이 들어오는 경우 의도한 리매핑 범위 이상의 값으로 구해지게 되므로


기존 입력값의 범위를 잘 확인해가면서 코드를 짜는것이 좋겠다. 



참고 : 


https://stackoverflow.com/questions/3451553/value-remapping