c语言---位运算

优先级

在这里插入图片描述

! > 算术运算符 > 关系运算符 > && >|| > 赋值

位运算的优先级如下:

按位反(~)> 位移运算(<<,>>)> 按位与(&)> 按位异或(^)> 按位或(|)

---
在这里插入图片描述

清零

m=m&~m
m=m&0
m=m^m

大小写转换

c = c | 32; 利用或运算将这个字母转化为小写字母
c = c & ~32; 利用与运算将这个字母转化为大写字母
c = c ^ 32; 利用异或运算将字母大小写互换,即大写转小写,小写转大写

在这里插入图片描述

c = c | 32; 大写转小写
第五位的0转化为1,其余不变。

c = c & ~32;小写转大写
第五位的1转化为0,其余不变

c = c ^ 32; 大写转小写,小写转大写
第五位的1转为0,0转为1,其余不变

习题

int main(){
	printf("%d",((241&15)&&('A'|'a')));	printf("\n");//1
	
 	printf("%d",(241&15));printf("\n");//1
 	printf("%d",(241&14));printf("\n");//0
 	
 	
 	printf("%d",(1&5));printf("\n");//1
// 	3=11  ,5=101   ->001
// 	2=10   5=101   ->000
//	1=01   5=101   ->001

	printf("%d",(6<<1));printf("\n");//12
	printf("%d",(6<<2));printf("\n");//24
	printf("%d",(3^24));printf("\n");//27
	
	printf("%d",(3^6<<2));printf("\n");//27
 	
} 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值