2.3.5 비트(부호 있는) 정수

jude·2022년 1월 30일
0

you don't know js

목록 보기
13/30
post-thumbnail

정수의 '안전 범위'가 약 9천조 정도지만, 32비트 숫자만 가능한 연산이 있어서 실제 범위는 훨씬 작다.

32비트를 고려한 범위는
Math.pow(-2,31) (약 -21억)에
Math.pow(2,31)-1 (약 +21억)까지다.

아래와 같이 비트 연산자로 체크할 수도 있다.

let a = 2100000000;
a | 0; // 2100000000

let b = 2200000000;
b | 0; // -2094967296

이런식으로 쓰면 '숫자 값 -> 32비트 부호 있는 정수'로 강제변환을 한다.
| 비트 연산자는 32비트 정수 값에만 쓸 수 있기 때문에(32비트까지만 관심을 갖기 때문에 그 상위 비트는 소실됨) 이런 방법이 가능하다.

profile
UI 화면 만드는걸 좋아하는 UI개발자입니다. 프론트엔드 개발 공부 중입니다. 공부한 부분을 블로그로 간략히 정리하는 편입니다.

0개의 댓글