私はビットをよく理解しようとしています。この問題を遭遇しました。私はcharの6番目のビットを1に設定しています。実際に1に設定されているかどうかを調べようとしています。間違った答えを与えています。ビット操作
int main(int argc, char** argv) {
unsigned char a=0;
a=a | (1<<6);
int b=a &(1<<6);
cout<< b;
return 0;
}
1ではなく64の結果が得られます。なぜですか?
:
それとも、おそらくこれを行うことができますか?あなたの心の中で、あなたは '&'は何と思いますか? –
あなたは間違っています。 2^6 = 64 – UmNyobe
ありがとう私のエラーを見た –