前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0

15.10. エンディアン変換クラス

SFXEndian クラスはエンディアン変換を行うためクラスです。

UInt08 n1 = 0xAB;

// 上位 4 ビットと下位 4 ビットをスワップ

n1 = SFXEndian::NibbleSwapU08(n1); // n1 は 0xBA となる

UInt32 n2 = 0x12345678;

// エンディアンを変換

n2 = SFXEndian::EndianSwapU32(n2); // n2 は 0x78563412 となる

Byte table[4];

// UInt32 型の値をビッグ エンディアンとしてメモリ上に書き出し

SFXEndian::SetPToBU32(table, n2); // table は {0x78, 0x56, 0x34, 0x12} となる


table[0] = 0x12;
table[1] = 0x34;
table[2] = 0x56;
table[3] = 0x78;

// UInt32 型の値をビッグ エンディアンとしてメモリ上から読み込み

UInt32 n3 = SFXEndian::GetBToPU32(table); // n3 は 0x12345678 となる

// UInt32 型の値をリトル エンディアンとしてメモリ上から読み込み

UInt32 n4 = SFXEndian::GetLToPU32(table); // n4 は 0x78563412 となる