ビット列
b7 b6 b5 b4 b3 b2 b1 b0
を
b0 b1 b2 b3 b4 b5 b6 b7
のように入れ替えるプログラムをC言語で作りたいのです。
自分で考えたりネットで検索しても方法が分りません。
どなたがご存じの方、ご教授願いないでしょうか。
あまりテストしていませんが、ものすごく泥臭く書くとこんな感じ
#include <assert.h>typedef unsigned char byte;
void main(){ byte b1 = 0x48; byte b2 = 0; int i;
for (i = 7; i >= 0; i--){ b2 |= (b1 & 0x01) << i; b1 = b1 >> 1; }
assert(b2 == 0x12);}
ありがとうございます。
参考にさせていただきます。