目次 - API(機能別) - バイト順と交換

バイト順と交換

インクルードファイル: SDL_endian.h

概要

ここにはエンディアンを扱う関数が分類されている.

整数や浮動小数点のような単純な型も複数のバイトで構成されている. 例えば, 32bit整数(Sint32)は4バイト(それぞれのバイトは8bit)使われている. エンディアンとはシステムがこの値をメモリ上にどのような順序で格納しているかを表している.

エンディアンは2つ - ビッグとリトルがある.

例: 32bit整数の10進数で16,909,060という数を考える. これは16進数では0x01020304である.
0x01が最上位バイト(最も大きな桁の値)で, 0x04が最下位バイト(最も小さな桁の値)である.

もしリトルエンディアンのシステムならば, 最下位バイトを先頭にメモリに格納される. 生成されるバイト順は:
0x04 0x03 0x02 0x01

もしビッグエンディアンのシステムならば, 最上位バイトを先頭にメモリに格納される. 生成されるバイト順は:
0x01 0x02 0x03 0x04

エンディアンのさらに詳しい説明はWikipedia(英語)(日本語)のこの記事を参照すること.

SDL_BYTEORDERはコンパイル時のバイト順を表すマクロである.

関数

  1. SDL_Swap16
  2. SDL_Swap32
  3. SDL_Swap64
  4. SDL_SwapBE16
  5. SDL_SwapBE32
  6. SDL_SwapBE64
  7. SDL_SwapFloat
  8. SDL_SwapFloatBE
  9. SDL_SwapFloatLE
  10. SDL_SwapLE16
  11. SDL_SwapLE32
  12. SDL_SwapLE64

SDL Wikiへのリンク

Byte Order and Byte Swapping - SDL Wiki