通信用語の基礎知識 IPv4
戻る
参加者募集中

ホストバイトオーダー

辞書:電算用語の基礎知識 プログラミング用語編 (PTPROGY)
読み:ホストバイトオーダー
外語:host byte order 英語
品詞:名詞
2009/10/29 作成

電子計算機が内部で用いる、複数バイトからなるデータ列のデータの並び順のこと。「H形式」ともいう。対語はネットワークバイトオーダー

目次

バイト順は、搭載しているCPUの種類によって変化する。

パーソナルコンピューターで一般的なx86系プロセッサーでは、最下位バイトが先に配置されるリトルエンディアンである。

680×0PowerPCSuperHなど多くは、最上位バイトが先に配置されるビッグエンディアンである。

インターネットで用いられるバイトオーダーと必ずしも一致しないので、随時エンディアンネスを変換する必要がある。

C/C++のBSDソケットプログラミングにおいては、次のような機能が用意されている。

#include <arpa/inet.h>

uint32_t htonl(uint32_t hostlong);

uint16_t htons(uint16_t hostshort);

uint32_t ntohl(uint32_t netlong);

uint16_t ntohs(uint16_t netshort);

32ビットのものはIPv4アドレス用、16ビットのものはポート番号用で、htonがホストバイトオーダーをネットワークバイトオーダーに、ntohはネットワークバイトオーダーをホストバイトオーダーに変換する関数である。

この関数を使用することで、ホストバイトオーダーがビッグエンディアンの環境であってもなくても、ソースの互換性を取ることが出来る。

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.03 (16-May-2019)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club