0

こんにちは私はバイトと低水準プログラミングを扱うのは初めてです。現在、私はint(32ビット)を持っています...したがって、次のようになります。

 0000000 10011011 00000000 00000000

(右から数えて)1の3番目の0のセットのみを出力しようとしています。だから私はchar値(?)を出力するでしょうどうすればそれを行うことができますか?

ありがとう!

4

2 に答える 2

3

ビットを右に16シフトしてから、0x000000FFで&して、目的のビットを除くすべてのビットをクリアできます。

int i =  0b0000000100110110000000000000000;
char c = (i >> 16) & 0xFF;
printf("%c\n", c);
于 2012-10-13T01:03:12.820 に答える
0
int a = 1083899904;
    a = a >> 16;
    a = a % 256;

a には char 値が含まれるようになりました。ここからキャストするだけです。

私はこれを投稿しようとしていましたが、あなたの方が速かったです。

于 2012-10-13T01:20:37.580 に答える