[JS Number] Do you know '1e3' ?

백경·2022년 11월 4일
post-thumbnail

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Numbers_and_dates

JS 의 Number 에 대해서 얼마나 알고 계신가요?

64 비트 부동 소수점

https://medium.com/@rnrjsah789/js%EC%97%90%EC%84%9C%EC%9D%98-64%EB%B9%84%ED%8A%B8-%EB%B6%80%EB%8F%99%EC%86%8C%EC%88%AB%EC%A0%90-c95e0cfec2b2

js 에서 Number 는 항상 64비트로 표현됩니다.

무한이라는건 개념적으로 존재합니다.
하드웨어라는 엄연한 한계가 존재하며 프로그래밍이라는 언어의 구조 상에서는 변수의 범위 또한 제한을 받습니다.
언어에 따라서 변수의 형태마다 할당되는 변수의 범위는 다 다릅니다
js 에서는 항상 모든 number 는 64 비트로 표현됩니다.
하지만 이 중 53 비트만이 실제의 수 표현에 사용됩니다.

진수 표현

8진수

ECMAScript 5의 Strict 모드는 8 진수 구문을 금지합니다.
ECMAScript 2015에서는 접두어가 0o인 경우 8 진수가 지원됩니다

// 앞에 0이 붙은 숫자를 조심하세요:

0888 // 10진수 888로 해석됩니다.

0777 // non-strict mode에서 10진수 511로 해석됩니다.

var a = 0o10; // ES2015: 8

16진수

16진수 구문은 앞에 0 다음에 소문자나 대문자 라틴어 문자 "X"(0x 또는 0X)를 사용합니다.

0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF   // 81985529216486900
0XA                 // 10

지수 표현

1E3   // 1000
2e6   // 2000000
0.1e2 // 10

1e3 라는 것은 1 * 10^3 을 의미합니다.
1e3 = 10e2 = 100e1 = 1000e0 = 1000 = 1_000

제가 사용하는 닉네임인 백경의 경우
1_000_000_000_000_000_000 로
또는 1e18 로도 표현이 가능합니다

profile
Let me introduce myself as an FE developer.

0개의 댓글