32 ビットから 16 ビット浮動小数点への変換
限られたネットワーク帯域幅で作業する場合、32 ビットから 16 ビットへの変換浮動小数点数は、データ サイズを削減するのに有益です。この変換を実行できる C ライブラリ関数の例を次に示します。
<code class="cpp">template< typename F > auto quick_encode_flt16( F && value ) { return flt16_encoder::encode< false >( std::forward< F >( value ) ); }</code>
この関数、quick_encode_flt16 は、丸めなしで高速変換を実行します。丸めサポートを使用してより正確に変換するには、次の関数を使用できます。
<code class="cpp">template< typename F > auto encode_flt16( F && value ) { return flt16_encoder::encode< true >( std::forward< F >( value ) ); }</code>
変換された 16 ビット浮動小数点数を元の 32 ビットまたは 64 ビット形式にデコードするには、 decode_flt16 関数:
<code class="cpp">template< typename F = float, typename X > auto decode_flt16( X && value ) { return flt16_encoder::decode< F >( std::forward< X >( value ) ); }</code>
これらの関数は、32 ビットと 16 ビットの浮動小数点数の間で変換する便利な方法を提供し、固定小数点の場合と同様に精度を損なうことなく、ネットワーク送信用にデータを圧縮できます。
以上がネットワーク送信のために 32 ビット浮動小数点数を 16 ビットに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。