ビット単位の操作についていくつか質問があります。助けていただければ幸いです。
1.)
i = 0x000a;
printf( "2: %x %x %x\n", i, i << 1, i << 2 );
i = 0x0010;
printf( "3: %x %x %x\n", i, i >> 1, i >> 2 );
2)
unsigned int i = 1;
printf( "1: %x %x %x\n", i, ~i, ~~i );
printf( "2: %x %x \n", i, ( 0x0100 & ( 1 << 8 ) ) >> 8 );
printf( "3: %x %x \n", i, 0x0100 ^ ( 1 << 8 ) );
printf( "4: %x %x \n", i, 0x0100 | ( 1 << 4 ) );
これらの質問に対する回答はありますが、その仕組みがわかりません。誰かがそれらを段階的に説明できますか?
前もって感謝します