1

どうすれば 1 バイトを 2 ビットの 4 ペアに分割できるのだろうか。

たとえば、次のものが与えられます。

0xf0;    /* 11110000 */

出力は次のようになります。

11
11
00
00
4

2 に答える 2

4

ビット単位の操作を確認する必要があります。彼らはあなたが必要とするすべてを提供します。

ビット単位 & マスキング用

0xf0 & 0b11000000 = 0b11000000

ビットシフト >>

0b11000000 >> 6 = 0b00000011

編集:

0b00000011 = (0xf0 & 0b11000000) >> 6;
0b00000011 = (0xf0 & 0b00110000) >> 4;
0b00000000 = (0xf0 & 0b00001100) >> 2;
0b00000000 = 0xf0 & 0b00000011;
于 2012-09-13T14:00:13.167 に答える
1
void printBits(int byte)
{
  printf("%d%d\n",byte>>7,(byte>>6)&1);
  printf("%d%d\n",(byte>>5)&1,(byte>>4)&1);
  printf("%d%d\n",(byte>>3)&1,(byte>>2)&1);
  printf("%d%d\n",(byte>>1)&1,byte&1);
}
于 2012-09-13T14:01:45.293 に答える