このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。

機械翻訳について

3.5 相互運用性を目的としたデータ変換

ビッグ・エンディアンとリトル・エンディアン形式の間の変換ロジックは、大変単純です。 図3.4および図3.5は、適切なバイトを交換して1つの形式から別の形式に変換する様子を示しています。

アーキテクチャの異なるマシンが接続されているネットワーク経由の通信を正しく行うために、通常は、ネットワークに送信される前にデータが転送側でネットワーク・バイト・オーダーに変換され、宛先ホストでパケットが受信された後に受信データがホスト・バイト・オーダーに変換し直されます。 ntohl()htonl()などの変換ルーチンを使用すると、ネットワーク・バイト・オーダーからホスト・バイト・オーダーへ、ホスト・バイト・オーダーからネットワーク・バイト・オーダーへそれぞれ変換できます。

構造体、共用体またはクラス・オブジェクトのメンバー・データの場合、構造体メンバーは、パフォーマンスの低下を防ぐために、メンバーの中で最もサイズの大きいバイトに位置合せされます。 次の例では、mystructのサイズは8バイトです。

// 4-byte alignment
struct mystruct {
    char a;   // size = 1 byte
              // 3 bytes padding
    int i;    // size = 4 bytes
}; 

ただし、次の例では、iメンバーのサイズが8バイトなので、mystructのサイズは16バイトです。

// 8-byte alignment
struct mystruct {
    char a;   // size = 1 byte
              // 7 bytes padding
    double i; // size = 8 bytes
};