作业帮 > 综合 > 作业

【C++】在下面一段程序中if( (i>>j)&1)是什么意思?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/25 12:46:39
【C++】在下面一段程序中if( (i>>j)&1)是什么意思?
#include
#include
using namespace std;
int main()
{
int n;
cin >> n;
int limit = pow(2.0,double(n)) ;
for(int i = 0; i < limit; i++)
{
for(int j = 0;j < n; j++)
\x05\x05{
\x05\x05\x05if( (i>>j)&1) cout
i右移j个单位,与1相与
再问: 与1相与 是什么意思? 水平比较差 不好意思
再答: “与”是计算机中一种基本的逻辑运算方式。符号表示为 &   在二进制中,只有0、1两种数字。有如下定义 第一个输入 第二个输入 输出结果 1 1 1 1 0 0 0 1 0 0 0 0 可见,只有前后两个运算数都是 1 的时候结果才是1。其效果与“或”相逆,各有不同用途。   同样原理运用到真假中 真true=1 假 false=0   第一个输入 第二个输入 输出结果 true true true true false false false true false false false false