整数 (!) としての double max のバイナリ表現は次のようになります。
11111111111111111111111111111111111111111111111111111
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
最後にたくさんのゼロがあります (正確には 1024 個のゼロ)。そして、それらの 1024 個のゼロの前に、53 個の先頭のゼロがあります。なぜ53個?それは、に格納できる有効ビットdouble
数だからです。
重要な部分は、これらすべてのゼロが実際には double 内に格納されていないことです。それらは指数によって暗示されます。53個だけが保存されます(まあ、52個だけです。最初のものもフォーマットによって暗示されています)。