【UE4】ハーフフロートの変換

半精度浮動小数点数(ハーフフロート)というものがあります。
よく使われている float(32bit), double(64bit) に対して、16bit で浮動小数点数を表現するものです。
float, double に比べて精度は落ちますが、処理速度の向上やメモリの削減を目的に使用されます。

今回はそのハーフフロートの変換についてです。
標準的なC++ではハーフフロートから Float、Float からハーフフロートへ変換したい場合、一度整数に分解しめんどうな計算を行う必要があります。
プラットフォームがリトルエンディアンかビッグエンディアンかでも方法が変わります。

しかし、UE4 では FFloat16 というラッピングしたクラスがあり、変換も以下のように簡単に行なえます。

float hoge = 3.14;
	
FFloat16 foo = FFloat16(hoge);	// float to halffloat
hoge = foo.GetFloat();		// halffloat to float

短くニッチな内容ですが、以上になります。


UE Version : 4.25.3-13942748