‘숫자’ 태그의 글
4편 RSS로 구독
4편
NaN === NaN은 왜 false일까: 자바스크립트의 ===, Object.is, includes가 값을 비교하는 방식
JavaScript에서 NaN === NaN은 false인데 [NaN].includes(NaN)은 true입니다. ===, Object.is, includes·Map·Set이 NaN과 -0을 다르게 다루는 ECMA-262의 규칙을 코드와 함께 정리했습니다.
2147483647에 1을 더하면: 언어마다 다른 정수 오버플로
Java int, Go int32, Rust i32에서 2147483647 + 1은 범위를 넘습니다. Java와 Go는 음수, Rust는 기본 Cargo 설정에서 dev 빌드면 패닉, release 빌드면 음수입니다. C의 INT_MAX + 1은 정의되지 않은 동작, Python은 2147483648입니다.
음수 나머지 연산: -7 % 3이 언어마다 다른 이유
-7 % 3이 Python에서는 2, JavaScript·Java·C·Go에서는 -1인 이유를 절단·내림·유클리드 나눗셈으로 설명하고, 음수에서도 0 이상의 나머지를 얻는 방법을 정리했습니다.
0.1 + 0.2는 왜 0.3이 아닐까: 부동소수점의 원리
JavaScript·Python·Java에서 0.1 + 0.2가 0.30000000000000004가 되는 이유를 IEEE 754 배정밀도 형식으로 설명하고, 비교·반올림·금액 계산에서 피하는 방법을 정리했습니다.
찾는 글이 없습니다. 다른 낱말로 검색해 보세요.