彻底理解双目操作符’&’,’|’,’^’

为了让小白们更加轻松融入C语言的学习当中,我也是熬夜加班将这三个令我抓狂的双目操作符总结出来。

相信大部分人对于取地址符’&’并不陌生,用来获取变量a的内存地址。为了便于在后续代码中使用变量的地址来进行间接访问。

’&&’是逻辑运算符,表示逻辑与;相当于生活中说的“并且”,就是两个条件都成立的情况下“逻辑与”的运算结果才为“真”。

重点来了,看到这个是不是很懵逼,

     ’&’:按(二进制)位与                                                                             

通俗来说就是&两边按二进制计算;对应位都为1时等于1否则为0,由此计算出c的二进制为001转化为十进制为1。

’||’是逻辑运算符,表示逻辑或;相当于生活中说的“或者”,就是两个条件任意一个成立“逻辑或”的运算结果才为“真”。

’|’:按(二进制)位或

与‘&’相反‘|’对应位都为0时等于0否则为1,由此计算出c的二进制为111转化为十进制为7。

’^’:按(二进制)位异或

对应位都相等时等于0否则为1,由此计算出c的二进制为110转化为十进制为6。

不创建第三个变量交换a,b的值
#include<stdio.h>
int main()//不创建第三个变量交换a,b
{
	int a = 20;
	int b = 30;
	printf("a=%d b=%d\n", a, b);
	a = a ^ b;
	b = a ^ b;//a^b^b=a  b=a
	a = a ^ b;//a^a^b=b  a=b
	printf("a=%d b=%d", a, b);
	return 0;
}
  • 16
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值