none
ビット列の入れ替えについて RRS feed

  • 質問

  • ビット列

     b7 b6 b5 b4 b3 b2 b1 b0

     b0 b1 b2 b3 b4 b5 b6 b7

    のように入れ替えるプログラムをC言語で作りたいのです。

    自分で考えたりネットで検索しても方法が分りません。

    どなたがご存じの方、ご教授願いないでしょうか。

    2007年7月4日 14:51

すべての返信

  • あまりテストしていませんが、ものすごく泥臭く書くとこんな感じ

    Code Snippet

    #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);
    }

     

     

    2007年7月5日 9:44
  • ありがとうございます。

    参考にさせていただきます。

    2007年7月6日 14:38