10

整数の<cstdint>のように、C ++にfloatの<cstdfloat>ヘッダーがないのはなぜですか?

編集 :

<cstdfloat>とは、floatとdoubleのtypedefを提供するヘッダーを意味します。Qtのqrealtypedefによく似ています。私の質問が今はっきりしていることを願っています。

4

2 に答える 2

7

多くの場合、アプリケーションは、たとえばビットフィールドの整数に対して正確に16ビットを必要としますが、浮動小数点に対して正確に16ビットを持つことは一種の役に立たないです。整数のビットを操作するのは簡単なので、正確に16個持っていると便利です。浮動小数点数のビットを操作するには、それを整数にキャストする必要があり、float16型をかなり無関係にします。

同様に、ポインターを格納(および計算も実行)できる整数型を持つことは便利ですが、ポインター値を浮動小数点値に変換し、それに対して浮動小数点演算を実行してから、元に戻す必要がある場合は、ポインタへ?

stdint.h重要なのは、 (またはcstdintC ++の場合、C99ヘッダーであり、技術的にはC ++の一部ではないことを除いて)ほとんどの機能がstdint.h浮動小数点値に適用されないということです。

于 2009-12-31T20:20:46.753 に答える
3

代わりに<float.h>、C ++の兄弟を探していますか?<cfloat>

于 2009-12-31T20:07:56.687 に答える