190418-TIL

190418-TIL

Today I Learned

오늘 한 일

  • Epsilon, Number Digit 등 컴퓨터에서 실수를 표현하는 방식과 상대오차에 대해서 깊게 배웠다.

  • 실수형의 논리비교를 위한 is_equal 함수를 만들었다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function is_equal(x, y, allowed=0){
    // 둘 중 큰 수의 다음 숫자와의 오차의 allowed 배 정도 되는 범위 안에 있으면 같다고 판단한다.
    return (Math.abs(x-y) <= Math.max(Math.abs(x), Math.abs(y))*Number.EPSILON*Math.pow(2, allowed));
    }
    function main(){
    var sum = 0;
    for(var i =0; i< 100; i++){
    sum += 0.01;
    }
    if(is_equal(sum, 1.0, 2)){
    console.log("THE SAME");
    } else{
    console.log("NOT THE SAME");
    }
    }
  • Python을 배우는데 너무 재미있다. 익숙하지 않아 찾아보는 것이 번거롭지만 문법이나 기능이 흥미롭다.

# TIL
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×