私は現時点ではlittle-endian
アーキテクチャで動作する実用ソフトウェアを持っています。私はbig-endian
モードでも動作させたいと思います。私は基礎となるシステムのエンディアンに関係なく、little-endian
のデータをファイルに書きたいと思います。リトルエンディアンとビッグエンディアンの浮動小数点数を効果的に変換する
これを達成するために、私はブースト・エンディアン・ライブラリーを使用することにしました。それは効率的に整数を変換できます。しかし、浮動小数点数(および倍数)は処理できません。
documentationには、「浮動小数点型がBoost 1.59.0でサポートされる」と記載されています。しかし、彼らはまだ1.62
でサポートされていません。
浮動小数点は有効であると仮定することができますIEEE 754
浮動小数点数(または倍数)。しかし、そのエンディアンは、基盤となるシステムによって異なる場合があります。私が知る限り、htonl
とntohl
関数を浮動小数点数に使うのはお勧めできません。どのようにそれが可能ですか?浮動小数点数も扱えるヘッダ専用ライブラリはありますか?私は何も見つけることができませんでした。
私は、私は多くの理由のために、その方法を避けたい文字列を浮動小数点数に変換し、ファイルにそれを書くことができ(パフォーマンス、ディスク・スペース、...)ここで
libは必要ありません。すぐに使えます。そこに見て:http://stackoverflow.com/questions/2782725/converting-float-values-from-big-endian-to-little-endian – aCOSwt