javascript の勉強をしていて疑問に思ったことについて調べたので書きます。冷静に考えるとかなり当たり前のことなのですが、同じ疑問を持つ人もいるかと思うのでメモを残しておきます。勘違いがあったら教えてください。 jsでは数値はすべて浮動小数点型で表す ほとんどのプログラミング言語では、整数と整数以外の実数を異なる型で表す(以下、面倒なので整数以外の実数を単に実数と表現する場合がある)。つまり、数値の中でも整数だけを特別に扱う型がある。例えば、Cでよく使うのは整数はint、実数はdoubleなどですね。これに対して、 javascript では整数だけを表す型というのがなく、数値はすべてNumberという型で表現される。つまり、3も0.3も同じ型の値である。Numberは実数を表すのによく使われる64bit の浮動小数点型なので、 javascript では整数も実数っぽく表しているこ
![javascript でなぜ 2^53 - 1 以下の整数を正確に表せるのか - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/af8f02986a5823c6ea43500863c4dd11d8958c32/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9amF2YXNjcmlwdCUyMCVFMyU4MSVBNyVFMyU4MSVBQSVFMyU4MSU5QyUyMDIlNUU1MyUyMC0lMjAxJTIwJUU0JUJCJUE1JUU0JUI4JThCJUUzJTgxJUFFJUU2JTk1JUI0JUU2JTk1JUIwJUUzJTgyJTkyJUU2JUFEJUEzJUU3JUEyJUJBJUUzJTgxJUFCJUU4JUExJUE4JUUzJTgxJTlCJUUzJTgyJThCJUUzJTgxJUFFJUUzJTgxJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1iYWYxYmVmMDA0NmNmMzQwZjA5ZjQ1MDE4YjBjYWUyNQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwbWFpeWFtYTE4JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzImdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1jZmJhODIwOTRlOGNjMmEyN2ZlY2MzYzZkZjliMjg4Yg%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dfe2fc5831edd7b7ba21a4676430745b6)