---
title: "190418-TIL"
date: 2019-04-18
tags: ["TIL"]
url: https://sub2n.github.io/2019/04/18/190418-TIL/
---

# 190418-TIL

## Today I Learned

## 오늘 한 일

-   Epsilon, Number Digit 등 컴퓨터에서 실수를 표현하는 방식과 상대오차에 대해서 깊게 배웠다.
    
-   실수형의 논리비교를 위한 is\_equal 함수를 만들었다.
    
    ```js
    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을 배우는데 너무 재미있다. 익숙하지 않아 찾아보는 것이 번거롭지만 문법이나 기능이 흥미롭다.