[Javascript 코테 대비] 엄청 큰 수 다루기: BigInt 사용법

허지예·2023년 3월 11일
0
post-thumbnail

Number의 한계

Number 자료형이 안정적으로 나타낸 수 있는 값의 최대치는 25312^{53} -1 (101610^{16} 미만)이다.

9007199254740991 ~ -9007199254740991

BigInt 사용법

BigInt 사용법

  • 생성
    BigInt10n처럼 정수 리터럴 뒤에 n을 붙이거나 함수 BigInt()를 호출해 생성할 수 있다.

    const theBiggestInt = 9007199254740991n;
    
    const alsoHuge = BigInt(9007199254740991);
    // ↪ 9007199254740991n
    
    const hugeString = BigInt("9007199254740991");
    // ↪ 9007199254740991n
  • 연산

    • 연산자는 + - * ** % 연산자를 BigInt에서 사용할 수 있다.
      (Number와 혼합해서 사용할 수는 없다)

    • / 연산자도 사용할 수 있지만, BigInt는 언제나 소수점 이하를 버린다.

  • 비교

    • BigIntNumber와 일치하지 않지만 동등하다.

      0n === 0 //false
      
      0n == 0 // true
    • NumberBigInt는 일반적인 방법으로 비교할 수 있다.

  • 정렬
    다음과 같이 정렬한다.

    array.sort((a, b) => (a < b ? -1 : 1));
  • 주의 점

    • Math 객체의 메서드와 함께 사용할 수 없다.
    • 연산에서 Number와 혼합해서 사용할 수 없다.
    • BigInt에서 Number로 바뀌면 정확성을 잃을 수 있다.
profile
대학생에서 취준생으로 진화했다가 지금은 풀스택 개발자로 2차 진화함

0개의 댓글