1

重複の可能性:
32 ビットから 16 ビット浮動小数点への変換

C で 32 ビット浮動小数点数と 16 ビット半精度浮動小数点数を変換するにはどうすればよいですか?

4

2 に答える 2

1

このhalf_floatsをチェックすることをお勧めします

これらの半浮動小数点数を格納する方法についても考慮する必要があります (C にはそのような型はありません)。

于 2012-08-13T11:09:48.897 に答える
1

通常、C には 16 ビット浮動小数点型が組み込まれていないため、次のいずれかを行う必要があると思います。

  1. 可能な場合は専用の CPU 命令など、特定のプラットフォームの「魔法」を使用します。もちろん、これは C ソリューションではなく、C ソースのインライン アセンブリになる可能性があります。ポータブルではありません。
  2. 必要なビットを手動で抽出して、おそらくunsigned short. これは移植可能ですが、かなり遅くなる可能性があります。

これらは両方とも、やりたいことは値の表現を構築することだけだと仮定しています。もちろん、C の演算子を使用して算術演算を行うことはできません。

于 2012-08-13T11:12:52.500 に答える