1

こんにちは、MikroC を使用してマイクロコントローラーをプログラミングしています。この変数は 1024 (2^10bit) 未満であり、それを変換しint value;unsigned char value8bits;最下位ビットをunsigned char value2bits;

私は実際に使用することを考えていました >> ビットシフトはまだ方法がわかりませんか? それで、あなたはどう思いますか ?

4

1 に答える 1

5
10bitvar = 956;

8bitvar = (10bitvar >> 2) & 0xff;
2bitvar = (10bitvar & 0x03);



10bitvar        =    1 1 1 0 1 1 1 1 1 0
(10bitvar >> 2) =    ? ? 1 1 1 0 1 1 1 1
    &                    & & & & & & & &
  0xff          =        1 1 1 1 1 1 1 1      
                        ----------------
8bitvar                  1 1 1 0 1 1 1 1


10bitvar        =    1 1 1 0 1 1 1 1 1 0
    &                    & & & & & & & &
  0x03          =        0 0 0 0 0 0 1 1      
                        ----------------
2bitvar                  0 0 0 0 0 0 1 0          
于 2011-06-20T02:35:32.433 に答える