프로그래밍 공부방

[JS] BigInt 정리 본문

프론트엔드/JavaScript

[JS] BigInt 정리

김갱갱 2023. 4. 9. 02:43

🐥 BigInt 정리

BigInt  Number 원시 값이 안정적으로 나타낼 수 있는 최대치인 2^53 - 1보다 큰 정수를 표현할 수 있는 내장 객체입니다.

즉, 이 말은 큰 숫자를 다루고 싶을 때 BigInt를 사용하면 된다는 것입니다.

 

BigInt는 정수 뒤에 n을 붙이거나 함수 BigInt()를 호출해 생성할 수 있습니다.

console.log(9999019309203910) // 9999019309203910
console.log(9999019309203910n) // 9999019309203910n
console.log(BigInt(9999019309203910)) // 9999019309203910n

BigInt를 사용했을 경우 결과값에 n이 붙는 것을 확인할 수 있습니다.

 

⚠️주의할 점

1. BigInt는 Number와 혼합해서 사용할 수 없기 때문에 모두 BigInt로 바꾼 후 연산을 해주어야 합니다.

2. 소수점 결과를 포함하는 연산을 BigInt와 사용하면 소수점 이하는 사라집니다.

 

 

그리고 이제 BigInt로 연산한 값에서 n을 빼고 싶으시다면 String형으로 바꿔주시면 됩니다.

console.log((BigInt(9907199254740991000000) + BigInt(9907199254740991000000)));
console.log(String(BigInt(9907199254740991000000) + BigInt(9907199254740991000000)));
console.log(Number(BigInt(9907199254740991000000) + BigInt(9907199254740991000000)));
console.log(9907199254740991000000 + 9907199254740991000000);
// 결과값
19814398509481981902848n
19814398509481981902848
1.981439850948198e+22
1.981439850948198e+22

 

백준을 풀다가 BigInt를 사용해야하는 문제가 있었어서 정리해보았습니다. 끝!