이게 무슨 형식인지 물어보시는 분이 계시나요?
사실 더 있습니다.
1 //1
1.2 //1.2
1.2e3 //1200
1.2e 3 //1200
1.2e-3 //0.0012
.12e 2 //12
-.12e-2 //-0.0012
물론 이것은 십진수일 뿐입니다. 8진수와 16진수에 대해 이야기해 봅시다.
0x00, 0x11, 0xff 이 형식은 16진수이며, 10진수 값은 각각 0, 17, 255입니다.
01, 07, 010, 012 8진수 입니다. (여기서 0은 숫자 0이지 문자 o가 아닙니다.)
몇몇 친구들이 궁금해할 수도 있는데, 이게 8진수라고 어떻게 말하나요?
사실 이건 8진수 체계인데, 10진수 앞에 0만 붙이면 됩니다.
물론 0을 더한 모든 것이 8진수는 아닙니다.
예를 들어 08, 09는 실제로 10진수입니다. 8진수에서 8로의 자리승수가 있기 때문에 08, 09는 불가능합니다.
당신의 시야가 훨씬 더 넓어졌다고 느끼시나요? 더 이상 소수 표현 형식에 국한되지 않고, 큰 소가 작성한 코드를 두려워할 필요가 없습니다.
어떤 친구들은 8진수와 16진수를 e-형식으로 지원하나요?라고 묻습니다.
0x12e3 === 4835
0x12e 3 === 305
0x12e-3 === 299
0x12 === 18
물론 이는 우리가 예상한 결과는 아닙니다.
사실 0x12e3은 e도 16진수 문자이기 때문입니다. 16진수 문자는 0~9에 a~f를 더한 값이므로 대소문자는 중요하지 않으므로 0x12e3은 일반적인 16진수 숫자 형식입니다.
0x12e 3 왜 안되나요? 사실은 단순히 숫자 두 개를 더한 것뿐입니다. 0x12e의 십진수 표기법은 302입니다. 3을 더하면 305가 되므로 단순 숫자가 아닌 표현식입니다.
011e2의 형식도 올바르지 않으며 구문 오류를 직접 보고할 수도 있습니다.
따라서 지수 형식은 십진수로만 사용할 수 있습니다.
앞으로 1e6을 접하게 된다면 IE6이라고 순진하게 착각하지 마세요.
왜 .5가 잘못되지 않고 왜 .1e1이 1과 같은지에 대해 더 이상 우울하지 마세요.
좋아요, 오늘은 이 작은 지식 포인트를 공유하고 혼자서 천천히 생각해 보겠습니다.