ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA - 로그함수 (밑이 2인 로그 함수)
    JAVA 2015.11.26 22:12

    자바 api에서 제공해주는 로그함수는 3가지 뿐입니다.

    그 중에는 아쉽게도 밑을 직접 설정할 수 있는 함수가 없기때문에 직접 만들어야 합니다.

    간단하게 수학 식을 알고 있다면 문제 없이 만들 수 있겠지만... 역시 까먹기 마련이죠.

    저 역시 갑자기 사용해야 하는데 문득 생각이 나지 않아 이렇게 포스트를 하고 있네요. 하하;


    자바 api에는 Math.log()와 Math.log10() 함수가 있습니다.

    이 함수를 사용하여 밑이 2인 로그함수를 만들 수 있습니다.


    baseLog(수, 밑)


    첫 번째 방법.

    static double baseLog(double x, double base) {

    return Math.log10(x) / Math.log10(base);

    }


    두 번째 방법.

    static double baseLog(double x, double base) {

    return Math.log(x) / Math.log(base);

    }

    둘 중 아무거나 쓰셔도 상관없습니다. 원리가 같기 때문이죠.

    실행을 해보면 잘 돌아가는 것을 확인할 수 있습니다~



    전체 소스입니다. 심플하죠..

    밑이 2 뿐만 아니라 원하는 수만큼 밑으로 사용할 수 있습니다.


    수학적 지식이 필요한 프로젝트의 경우 이처럼 자주 사용되는 계산 법은 util 같이 하나의 패키지에 모아서 넣어두면 사용하기 유용합니다.

    알고리즘을 풀 때도 마찬가지로 두고두고 사용할 수 있지요.


    자신의 소스가 계속 쌓여서 하나의 자산이 되는걸 발견할 수 있어요.


    간단하게 로그함수 작성에 대한 글을 작성해봤습니다.

    'JAVA' 카테고리의 다른 글

    자바8 - 3. 람다  (0) 2018.10.02
    자바8 - 2. 동적 파라미터화  (0) 2018.10.02
    HashMap vs HashTable vs ConcurrentHashMap  (0) 2017.12.31
    CheckedException vs UnCheckedException  (0) 2017.06.16
    JAVA - 로그함수 (밑이 2인 로그 함수)  (0) 2015.11.26
    JAVA - 변수  (0) 2014.07.20

    댓글 0

Designed by Tistory.