僕は競技プログラミングの勉強をしている高校生です
今bit全探索の勉強をしているのですが、それ以前のbitの扱いについて悩んでいます
下のコードを見てください
#include <iostream>
#include <bitset>
using namespace std;
int main() {
for(int i=0;i<3;i++){
cout << (7 >> i) << endl;
}
}
僕がこのコードで目指したのは、7が二進数においてどのように表されるのかを
コードで表すということです。
つまり、7は二進数では111ですから、for文によって1桁ずつ出力すると、
1,1,1となり、このように出力してほしいわけです
しかし、実際にこのコードを実行すると7,3,1となります
なぜでしょうか?また、1,1,1と出力するにはどうすればいいでしょうか
教えていただけると嬉しいです
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/05/06 13:20