【问题标题】:what does condition if(k & 1) mean in c? [duplicate]条件 if(k & 1) 在 c 中是什么意思? [复制]
【发布时间】:2015-01-04 21:54:34
【问题描述】:

这是 c 中的代码示例,我不确定条件“k & 1”是什么意思。

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

【问题讨论】:

  • 拜托,学习初始化局部变量。在使用它们之前。恕我直言,实际上将任何变量初始化为某个值总是一个好主意。如果说k5,在4-bits(nibble) 中,这将变成0101。现在用1 对这个二进制数执行AND 操作,就像0101 & 0001 将得到0001 作为结果,因为k 的最后一位是ON 或k 是odd。跨度>

标签: c


【解决方案1】:

k & 1k 变量和1 文字进行按位与运算。表达式导致0(如果k 的LSB 是0)或1(如果k 的LSB 是1)。由于表达式是if 语句的条件,因此它被隐式转换为bool,其中1 映射到true0 映射到false

【讨论】:

    猜你喜欢
    • 2019-08-21
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    相关资源
    最近更新 更多