これは何の形式ですか?と尋ねる人もいるかもしれません。
実は、それだけではありません。
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
もちろん、これらは 10 進数のみです。 8 進数と 16 進数について話しましょう。
0x00、0x11、0xff この形式は 16 進数で、10 進数値はそれぞれ 0、17、255 です。
01、07、010、012 これは 8 進数です。 (ここでの 0 は数字の 0 であり、文字の o ではありません)
友達の中には疑問に思った人もいるかもしれません。これは 10 進数ではないのですか?
実際には、これは 8 進数で、10 進数の前に 0 を追加しただけです。
もちろん、すべて + 0 が 8 進数であるわけではありません。
たとえば、08、09 は実際には 10 進数ですが、8 進数から 8 への桁上げがあるため、08、09 は不可能です。
自分の視野がずっと広くなったと感じますか? もう 10 進数の表現形式に限定されず、大きな牛が書いたコードを恐れる必要はありません。
友達の中には、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 なぜそうではありませんか? 実際、これは 2 つの数値を足しただけです。0x12e の 10 進表記は 302 です。3 を足すと 305 になるので、これは単純な数値ではありません。
011e2 の形式も間違っており、構文エラーを直接報告する可能性もあります。
したがって、指数形式は 10 進数でのみ使用できます。
将来 1e6 に遭遇したときに、単純に IE6 と間違えないでください。
なぜ .5 が間違っていないのか、なぜ .1e1 が 1 に等しいのかについてもう落ち込む必要はありません。
さて、今日はこのちょっとした豆知識をシェアして、一人でゆっくり考えてみましょう。