Skip to content

JavaScript의 BigInt 자료형 #8

Description

@voidmatcha

조합 문제를 풀다가 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

Activity

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions