Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JavaScript의 BigInt 자료형 #8

Open
dididy opened this issue Mar 15, 2021 · 0 comments
Open

JavaScript의 BigInt 자료형 #8

dididy opened this issue Mar 15, 2021 · 0 comments
Assignees

Comments

@dididy
Copy link
Member

dididy commented Mar 15, 2021

조합 문제를 풀다가 BigInt를 사용해야 하는 상황이 생겼다. BigInt의 개념을 정리해보자.

핵심 개념

JavaScript의 원시형 중 하나이다. Number로 표현할 수 있는 범위인 2^53 - 1 보다 큰 정수를 표현할 때 사용한다.

typeof 1n === 'bigint'; // true
typeof BigInt('1') === 'bigint'; // true

사용법은 간단하다. BigInt() 함수를 호출하거나 숫자 뒤에 n을 붙이면 된다. BigInt는 typeof의 'bigint'로 검증할 수 있다.

연산자는 +, *, - **, % 를 사용할 수 있으나 >>>(부호 버림 오른쪽 시프트)는 사용할 수 없다. 단항 + 연산자도 지원하지 않는다.

나누기 연산을 할 때 소수점을 버린다. 그 이유는 BigInt는 BitDecimal이 아니기 때문이다. 이 점을 주의해야 한다.

console.log(0n === 0) // false
console.log(0n == 0) // true

BigInt는 Number와 일치하지 않지만 동등하다. 또한 일반적인 방법(비교연산자 사용)으로 비교할 수 있다.

또한 배열의 요소로 혼용되어 사용되는 경우에도 정렬이 가능하다.

Reference

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/BigInt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant