如果(k& 1)在c中的含义是什么条件?

时间:2014-11-08 01:04:02

标签: c

这是c中代码的示例,我不确定条件是什么" k& 1"手段。

int k,i,c;
k = i >> c;
if (k & 1)
   printf("1");
else
   printf("0");

1 个答案:

答案 0 :(得分:3)

k & 1执行k变量和1文字的按位AND运算。表达式结果为0(如果k的LSB为0)或1(如果k的LSB为1) 。由于表达式是if语句的条件,因此隐式转换为bool1映射到true0映射到{{ 1}}。