float に似た独自のデータ型 ( と呼ばれる) を定義しようとしていますsfloat
が、データの範囲と精度により適した仮数ビットと指数ビットの異なる数を使用します。目標は、既存のアプリケーションで float を置き換えることができる新しいデータ型を定義することです。unsigned
演算子をオーバーライドまたは定義できなかったことを除いて、これまでのところすべてがうまくいっています。
unsigned sfloat(3.141527)
このクラスの符号なしバージョンを返しusfloat(3.141527)
ます。
VS intellisense がヘッダー ファイルで文句を言っていないため、unsigned
指定子がオーバーロードされる可能性があるようです。
sfloat::sfloat(float f) { m_data = get16bit(f); }
operator unsigned() { /*Do stuff here */ };
しかし、宣言と初期化では機能しません:
unsigned sfloat myPi= 3.141527; // Error: expected a ';'
これが C++ で可能かどうかさえ知りません。