0

私はCを学ぼうとしていますが、今は山車です。私はすべての値が異なるマシンで異なるサイズを持っていることを知っています。しかし、私はその概念を学ぼうとしています。

フロートが4バイトで保存されているとしましょう。最初のビットは符号ビットであり、数値が正か負かを決定することを読みました。次に、次の7ビットが指数で、残り(23ビット)が仮数です。これは次のようになります:1 010 1001 0000 0000 1011 1001 0000 111

しかし、これはどのようにフロートに変換されますか?バイナリを読み取ることはできますが、その背後にある式が表示されません:)。誰かがこれを私に説明してもらえますか、それともどのように機能しますか?

4

2 に答える 2

2

私は数年前にこれを書きました。
浮動小数点数がどのように表されるかを理解するのに役立つと思います。

http://www.eosgarden.com/en/articles/float/

基本的に、正規化された数値の式は次のとおりです。 -1^S * 1.M * 2^( E - 127 )ここで、Sは符号、Mは仮数、Eは指数です。しかし、すべては前のリンクで詳細に説明されています。

于 2013-01-09T15:55:18.880 に答える
1

指数には8ビットがあります:seee eeee emmm mmmm mmmm mmmm mmmm mmmm

式は次のとおりです。(-1)^ s * 1.M * 2 ^(E --127)

大きなMとEを使用して、それぞれすべてのmビットとeビットを表しました。M部分は2進数、E部分は10進数です。

于 2013-01-09T16:00:52.710 に答える