[TIL] n*2^t - 2의 제곱수를 곱할때 유용한 방법 2가지(Math.pow(n,t), n << t)

hyein·2023년 10월 8일
0

TIL

목록 보기
32/34
post-thumbnail

Math.pow()

Math.pow(base, exponent)

Math.pow()는 JavaScript에서 제공하는 내장 함수 중 하나로, 주어진 숫자의 지수 승을 계산하는 데 사용됨.

이 함수는 두 개의 인수를 받으며, 첫 번째 인수는 밑(base)이 되는 숫자이고, 두 번째 인수는 지수(exponent)이다.

함수는 밑을 지수만큼 거듭제곱한 값을 반환한다.

Math.pow(base, exponent)

const result = Math.pow(2, 3);
console.log(result); // 출력: 8

Math.pow() 함수를 사용하여 숫자의 거듭제곱을 계산할 수 있으며, 이를 수학 계산이나 프로그래밍에서 자주 활용된다.


시프트 연산자 >>

프로그래밍에서 말하는 시프트는 의미 그대로 이동시키는 것을 말한다.

연산자(>>)는 주어진 숫자를 이진 표현에서 왼쪽으로 주어진 비트 수만큼 이동시킨다.

왼쪽 시프트 연산은 기존의 비트들을 왼쪽으로 이동시키고, 오른쪽에는 0을 추가합니다.

이렇게 하면 주어진 숫자를 2의 거듭제곱만큼 곱한 것과 같은 효과를 얻을 수 있습니다.

n << t = n * (2 t)**

|예를 들어, solution(5, 2)를 호출하면 다음과 같이 계산된다.

5를 이진수로 나타내면 101이다.
101을 왼쪽으로 2 비트 이동시키면 10100이 된다.
10100을 10진수로 변환하면 20이 된다.
따라서 solution(5, 2)의 결과는 20이 된다.

더 자세한 시프트 연산자 내용 참고링크텍스트

profile
As I start to move towards the goal, the goal will start to move towards me.

0개의 댓글