整数の<cstdint>のように、C ++にfloatの<cstdfloat>ヘッダーがないのはなぜですか?
編集 :
<cstdfloat>とは、floatとdoubleのtypedefを提供するヘッダーを意味します。Qtのqrealtypedefによく似ています。私の質問が今はっきりしていることを願っています。
多くの場合、アプリケーションは、たとえばビットフィールドの整数に対して正確に16ビットを必要としますが、浮動小数点に対して正確に16ビットを持つことは一種の役に立たないです。整数のビットを操作するのは簡単なので、正確に16個持っていると便利です。浮動小数点数のビットを操作するには、それを整数にキャストする必要があり、float16
型をかなり無関係にします。
同様に、ポインターを格納(および計算も実行)できる整数型を持つことは便利ですが、ポインター値を浮動小数点値に変換し、それに対して浮動小数点演算を実行してから、元に戻す必要がある場合は、ポインタへ?
stdint.h
重要なのは、 (またはcstdint
C ++の場合、C99ヘッダーであり、技術的にはC ++の一部ではないことを除いて)ほとんどの機能がstdint.h
浮動小数点値に適用されないということです。
代わりに<float.h>
、C ++の兄弟を探していますか?<cfloat>