큰 정수

자바스크립트의 큰 단점 중 하나는 64비트 정수가 없다는 것입니다.
int64형은 최대 923372036854775807까지의 정수를 담을 수 있는데
이것은 자바스크립트의 Number.MAX SAFE INTEGER 범위인 90071992547409에 벗어납니다.

숫자형 추가의 문제점

그렇다면 다른 언어들이 여러개의 숫자형을 가지고 있는 것처럼 자바스크립트에도
추가하는 생각이 들 수 있겠지만 문제가 있습니다.

그 이유는 단순성을 잃게 되고, 잠재적을 다른 버그를 초래할 가능성이 커지게
되기 때문입니다. 모든 자료형 선언과 자료형 변환은 잠재적인 오류입니다.

이 책에서는 큰 정수를 언어에 내장하는것 대신에 라이브러리 형태로 제공했어야
한다고 말합니다. 언어를 사용하는 대부분의 사용자는 큰 정수를 사용하지 않고
큰 정수는 현재의 숫자형으로 풀 수 없는 가장 큰 문제를 해결해 주지도 못하기 때문입니다.

큰 부동소수점

부동소수점 시스템은 세 가지 숫자,즉 계수(coefHCient)와 지수(exponent),
그리고 밑수(basis)로 구성됩니다. 이 세 개의 숫자로 값을 정할 수 있기 때문입니다.

값 = 계수 * (밑수 ** 지수)
1.2345 = 12345 * (10 ** -4)

Thank you Moore’s Law

자바스크립트가 차용한 IEEE 754 규격은 부동소수점 수의 밑수로 2를 사용합니다.
TMI이지만(?) 1950년대 하드웨어는 밑수가 2인 부동소수점 시스템과 잘 맞았다고 합니다.
무어의 법칙(반도체 칩에 집적할 수 있는 트랜지스터의 숫자가 적어도 매 18개월마다
두 배씩 증가한다는 법칙) 덕분에, 이제는 밑수를 2로 써야만 하는 제약이 없어졌습니다.
그러니 이제 다른 밑수를 사용해도 관계 없습니다.

이 책에서는 밑수가 10이어야 한다고 생각합니다. 밑수가 10이면 10진 분수 값을
정확하게 표현할 수 있기 때문입니다. 대부분의 사람이 10진수를 사용하기 때문에
밑수가 10인 부동소수점 시스템은 사람에게 아주 좋은 시스템이라고 합니다.