1

この質問は以前に何度も聞かれたと思いますので、簡単に検索したところ、浮動小数点値の構造を説明しているこのウィキペディアのページが見つかりました。

いくつかの浮動小数点値 (ゲーム用) で構成されるネットワークを介してデータを送受信しているため、次の質問が発生します。

  1. エンディアンを気にする必要はありますか?
  2. *(float*)エンディアンが重要な場合、キャストやユニオンを行わずにこれらの値を抽出するにはどうすればよいですか? (整数のビットシフトを伴うトリックなど)

前もって感謝します。

4

1 に答える 1

0

浮動小数点値をメモリから直接書き出す場合は、はい、エンディアンを処理する必要があります。

これを処理する方法は何千もあります。ネットワーク プロトコルでよく使用される 1 つの方法は、構造体をバイト バッファーに読み込み、すべての要素を交換し (ホスト マシンのエンディアンがプロトコルのエンディアンと一致しない場合)、それを通常のホスト マシン構造体として扱うことです。

于 2011-03-22T21:26:59.377 に答える