ES5까지는 Javascript에서 수학 계산 처리 함수는 많이 부족했습니다.
하지만, ES6에서 수학 계산용 함수가 많이 추가되었는데, 이를 통해 머신러닝/딥러닝에 대응할 수 있게되었습니다. 그에 대해서 Tensorflow.js 라이브러리도 나왔습니다.
여기서는 일반적인 사용에 대해서 개요 중심으로 다루고 수학 계산을 좀 더 자세하게 다루는것은
따로 공부를 좀 해서 Tensorflow.js쪽을 진행하며 다루겠습니다.
정수, 제곱근, 사인
1. Math.trunc()
소수를 제외한 정수를 반환하는 메소드
console.log(Math.trunc(12.56), Math.floor(12.56));//12, 12
console.log(Math.trunc(-12.56), Math.ceil(-12.56));//-12, -12
console.log(Math.trunc("45.67"), Math.trunc(true));//45, 1
JavaScript
복사
1.
12.56에서 56을 제외하고 12만 반환합니다.
2.
양수이면 Math.floor()와 같고 음수이면 Math.ceil()과 같습니다.
3.
우선, Number타입으로 변환 후 결과값으로 함수를 실행합니다.
2. Math.sign()
값의 부호에 해당하는 값을 구하는 메소드입니다.
console.log(Math.sign(5), Math.sign(-5));
console.log(Math.sign(-0), Math.sign("123"));
JavaScript
복사
1.
파라미터 값이 양수이면 1을 반환하고 음수이면 -1을 반환합니다.
2.
+0이나 -0은 모두 0을 반환합니다.
3.
Number타입으로 변환 후 실행합니다.
3. Math.hypot(): 제곱근
각 파라미터 값을 제곱하여 합산 후 합한 값의 제곱근을 반환하는 메소드입니다.
console.log(Math.hypot(3, 4));//5
console.log(Math.hypot(-7));//7
JavaScript
복사
1.
3의 제곱은 9이고, 4의 제곱은 16으로 두 값을 더하면 25가 됩니다.
2.
결과값 25의 제곱근을 구하면 5가됩니다.
3.
파라미터가 하나인 경우 Math.abs()와 같습니다.
4. Math.cbrt(): 세제곱근(cube root)
console.log(Math.cbrt(27));//3
JavaScript
복사
1.
세제곱근 공식
Hyperbolic( 쌍곡)
1. Math.sinh(): 쌍곡 사인(sine)
⇒
2. Math.asinh(): 쌍곡 아크사인(arcsine)
3. Math.cosh():쌍곡 코사인(cosine)
⇒
4. Math.acosh():쌍곡 아크코사인(arcosine)
5. Math.tanh():쌍곡 탄젠트(tangent)
⇒
6. Math.atanh():쌍곡 아크탄젠트(arctangent)
로그
1. Math.log2(): 2를 밑으로 한 로그 값
⇒ Math.log(2) =
2. Math.log10(): 10을 밑으로 한 로그 값
⇒ Math.log10(x) =
3. Math.log1p(): Math.log(1 + 파라미터 값)
⇒ Math.log1p(x) =
4. Math.expm1()
: 자연로그 상수(e)의 x승 -1으로 x는 파라미터 값,(Math.exp(x)-1)과 같습니다.
32비트 계산
Javascript는 64비트 계산을 하기에 일반적으로는 32비트 계산을 하지는 않습니다. 하지만, Emscripten에 대처하기위해 32비트 계산역시 지원합니다. (Emscripten)