位运算总结 SDUT

本文详细介绍了C语言中的位运算,包括按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<)和右移(>>)操作,以及它们在单片机编程中的应用。通过实例分析了位运算在数值交换、加密信息处理和灯状态改变等方面的作用,并提供了相关程序练习和思考题。
摘要由CSDN通过智能技术生成

今天学习了位运算,这是单片机所要用到的基础知识。
在这里插入图片描述在这里插入图片描述
1、按位与运算(&)
可以取出某些特定位的信息(如:按下按键)
例如:把0XA5中的A取出,因为A对应的二进制为1010,5对应的二进制为0101,则只需将和0XF0(1111 0010)进行按位与运算。
1010 0101
1111 0000
可得:1010 0000 ,A位取出!
0&0=0
0&1=0
1&0=0
1&1=1
如果两个相应的二进制位都为1,则该位的结果值为1,否则为0。
两个1才是1,否则是0。
3&5的值为1,若参加&是负数运算的是负数(如-3&-5),则以补码的形式表示为二进制数,然后按位与运算。

2、按位或运算(|)
可将指定位设为1,保持其他位不变。
单片机中

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值