10 進数を IEEE 754 単精度浮動小数点表現に変換する方法は知っていると思いますが、確認したいと思います。
IEEE 754 単精度浮動小数点表現で 3.398860921 x 10^18 を表現したい。フロート担当者を知っています。壊れています。
31 桁目: 符号 (+ の場合は 0、- の場合は 1) 30 ~ 23 桁目: 指数を表す 22 ~ 0 桁目: 仮数 (仮数) を表す
正の数なので、符号は明らかに 0 です。指数については、これを思いつき(バイアスの127に18を追加することにより)、指数を次のように表しました:1001 0001
3.398860921 の部分となる仮数部については、小数点の右側にあるすべてのものを継続的に 2 で乗算し、それが 1 より大きい場合は 1 をマークし、それ以外の場合は 0 をマークしました。仮数部を埋めるのに十分なビットを思いつくまで、小数点以下 2 を 2 ずつ増やしました。
だから今私は持っています: 0 | 1001 0001 | 0110 0110 0001 1011 1011 111
これを HEX に変換すると 0x48B30DDF が得られますが、これは 3.398860921 x 10^18 で始めた数値とは異なります。
そんなはずなのか、どこかで間違えたのか。どんな助けでも大歓迎です。