#keywords aspect,ratio,비율,계산,퍼센트,percent,백분율,만분율 #title 비율계산 [wiki:Home 대문] / [wiki:CategoryBasic 기초지식], [wiki:CategoryProgramming 프로그래밍] / [wiki:Ratio 비율계산] ---- == [wiki:Ratio 비율계산] == * 작성자 조재혁([mailto:minzkn@minzkn.com]) * 고친과정 2008년 어느날 : 처음씀 [[TableOfContents]] === 정리 === 프로그래밍을 하다가 보면 특정 scale 범위의 값을 지정한 scale 범위를 갖는 값으로 변환하여 사용해야 하는 경우가 종종 발생합니다. 통상적으로 비율은 다음과 같이 표시합니다. {{{#!plain x1 : x2 = y1 : y2 }}} 그리고 이것은 다음과 동일한 등가식입니다. (사실상 이 등가식만 알면 모든것은 끝났습니다. 이것만으로 어떠한 비율이라도 구할수 있게 됩니다.) {{{#!plain x1 * y2 = x2 * y1 }}} 이를 활용하여 백분율은 다음과 같이 정의되어 계산될수 있습니다. {{{#!plain x : 100 = value : max x * max = 100 * value x = ( 100 * value ) / max }}} 여기서 예를 들면 총 500개의 사과가 있다고 했을때 이중에 20% 는 몇개의 사과를 말할까요? {{{#!plain 20 : 100 = x : 500 20 * 500 = 100 * x x = ( 20 * 500 ) / 100 = 10000 / 100 = 100 }}} 즉, 500개 중에서 20%는 100개가 됩니다. 프로그래밍에서의 백분율 표시는 이렇게도 구현할수 있을겁니다. {{{#!enscript c void print_percent(long s_value, long s_max) { long long s_man = (((long long)s_value) * 10000ull) / s_max; (void)fprintf(stdout, "%llu.%02llu%%\n", s_man / 100ull, s_man % 100ull); } }}} 위의 예제소스는 소수점이하 2자리까지만 표시하고 소수점 계산을 회피하고 정수계산만으로 소수점이하 2자리를 표시하기 위해서 백분율을 만분율로 계산하여 정부부분과 소수점부분을 100 이라는 배율값으로 나누어지게 구현한 것입니다. 이 밖에도 비율공식은 너무 광범위하게 사용되므로 꼭 머리속에 새겨넣어야 하는 공식중에 한가지라고 주장합니다. === 참고자료 === * [wiki:TrigonometricalFunction 삼각함수의 정리]