そういうことを考えないでいいようにCなどの高級言語は作られました。
せいぜい異なるエンディアンの計算機と通信するときなどに使うぐらいです。
tmp1 = 0x1234;
tmp2 = tmp1 & 0xff;
でtmp2は0x0034
tmp1 = 0x1234;
tmp2 = tmp1 & 0xff00;
でtmp2は0x1200
tmp1 = 0x1234;
tmp2 = (tmp1>>8) & 0xff;
でtmp2は0x0012
です。任意ビットを取り出す時にC言語上でエンディアンを考える必要はありません。
|