0

独自のメモリ マネージャーを書き始めたばかりですが、そのためには、f32(float integer) を作成するための何らかの種類のインクルード ファイルが必要です。

私はすでに自分のプログラムに持っていますが、 、またはその#include <cstdint>ために何が必要なのかわかりません。F32I32

4

1 に答える 1

1

float私の知る限り、現在のところ、固定幅の浮動小数点型を取得する標準化された方法はありません-整数型とは異なりdouble、多かれ少なかれどこでも同じであるためだと思います( 32 ビットfloat、 64 ビットdouble、「奇妙な」FP型には別の型があります) .

それでも、さらに確実にしたい場合は、typedef を作成する前に静的アサートを行うことができます。

#include <climits>
static_assert(sizeof(float)*CHAR_BIT==32, "float is not 32 bit on this architecture, fix the f32 typedef.");
typedef float f32;

このように、「健全な」プラットフォームではこれは問題なく動作しますが、「奇妙な」プラットフォームではコンパイルに失敗し、プラットフォーム固有の を追加する機会が与えられますtypedef

I32 に関しては<cstdint>、typedef を含めて作成するだけで十分です。

#include <cstdint>
typedef std::int32_t i32;
于 2012-01-23T00:14:30.877 に答える