一、按位与运算符(&)按位与
参加运算的两个数据,按二进制位进行“与”运算
运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;
即:两位同时为“1”,结果才为“1”,否则为0
# define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//定义了一个链表节点的数据类型
int main(void)
{
int i = 5;
int j = 7;
int k;
k = i & j;
printf("%d\n", k); //5
k = i && j; //&&是逻辑运算符,在C中,1是真,0是假
printf("%d\n", k); //1
return 0;
}
算符 | 含义 | 功能 |
---|---|---|
& | 按位与 | 如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。 |
| | 按位或 | 两个相应的二进制位中只要有一个为1,该位的结果值为1。 |
∧ | 按位异或 | 若参加运算的两个二进制位同号则结果为0(假)异号则结果为1(真) |
~ | 取反 | ~是一个单目(元)运算符,用来对一个二进制数按位取反,即将0变1,将1变0。 |
<< | 左移 | 左移运算符是用来将一个数的各二进制位全部左移N位,右补0。 |
>> | 右移 | 表示将a的各二进制位右移N位,移到右端的低位被舍弃,对无符号数,高位补0。 |