在C语言中使用&(AND)运算符是什么?
这个问题在这里已经有了答案:
按位AND运算符是一个单符号:&。 一个方便的助记符是,布尔AND &&的小版本在小块(比特而不是字节,字符,整数等)上工作。 本质上,二进制AND只是以二进制形式将数字的每个位置中的位进行逻辑AND。
例如,使用一个字节(char类型):
EX。
01001000 &
10111000 =
--------
00001000
第一个数字的最高有效位是0,所以我们知道结果的最高有效位必须是0; 在第二个最重要的位中,第二个数的位是零,所以我们有相同的结果。 唯一的两个比特是1,这是唯一的结果将是1的时间,是左边的第五位。 所以,
72 & 184 = 8
更多的例子
unsigned int a = 60; /* 60 = 0011 1100 */
unsigned int b = 13; /* 13 = 0000 1101 */
int c = 0;
c = a & b; /* 12 = 0000 1100 */
&
是按位AND运算符。 它听起来像这样 - 每一个位都有一个操作符。 在你的情况下,如果p = 2^k
, a[i]&p
检查机器的a[i]
的二进制表示是否将第k位设置为1
。
AND运算符比较两个给定的输入位,如果两个位均为1,则结果为1.否则,它给出0。
链接地址: http://www.djcxy.com/p/72643.html上一篇: what is use of &(AND) operator in C language?
下一篇: clarification of int & int inside a if statement in C++