2.3.5 비트(부호 있는) 정수

정수의 '안전 범위'가 약 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비트까지만 관심을 갖기 때문에 그 상위 비트는 소실됨) 이런 방법이 가능하다.

좋은 웹페이지 즐겨찾기