エンディアン変換

入力バイト(メモリ)

↓ バイト順を変換 ↓

結果バイト(メモリ)

# 入力 hex 出力 hex 符号なし 符号付き 2 進

エンディアン変換ツール

エンディアン変換ツールです。マルチバイト hex のメモリ上のバイト順を入れ替えます。 マルチバイト値のメモリ上のバイト順です。0x12345678 の big-endian は 12 34 56 78、little-endian は 78 56 34 12、PDP は 34 12 78 56。「例を表示」は 32 ビット、big-endian → little-endian です。2 語 AA BB CC DD 11 22 33 44 の 32 ビット交換は DD CC BB AA 44 33 22 11、全反転は 44 33 22 11 DD CC BB AA。

使い方

  1. hex を貼ります。2 / 4 / 8 バイトの倍数(全反転以外)。
  2. 16 / 32 / 64 ビット。語ごとに変換します。
  3. 入力/出力は big-endian、little-endian、PDP。入れ替え ⇄ で結果を戻します。
  4. 色付きセル、表、__builtin_bswap を確認します。

メモリ配置と値

左がアドレス 0。little-endian は最下位バイトを最低アドレスに置きます。uint8_t にエンディアンはありません。

ネットワークバイト順と C

TCP/IP は big-endian(RFC 1700)。LE ホストでは htons/htonl。float は memcpy で入れ替えます。

PDP / ミドルエンディアン

PDP-11 では 32 ビットが 34 12 78 56 になります。

よくある質問

  • 3 バイトで 32 ビット? 4 の倍数が必要です。
  • 全反転は語交換と同じ? 複数語では違います。
  • 浮動小数点は? IEEE 754 と組み合わせてください。

関連ツール

浮動小数点は IEEE 754。ダンプは Hex Dump。整数は 16進数から10進数。

整数値が必要ですか? 16進数から10進数 →