查看复合位与的源代码
←
复合位与
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
你刚才请求的操作只对属于该用户组的用户开放:
用户
您可以查看并复制此页面的源代码:
{| border="0" cellpadding="20" width="100%" |- |width="100%" valign="top" align="left"| <font color="orange" size="+1">'''描述'''</font> 复合位与(&=)经常被用来设置变量或者常量的某一位为0。代码中,常被用作"清零"或者"重置"变量的某位。 <font color="orange" size="+1">'''语法'''</font> <pre style="color:dimgray"> x &= y; // 相当于 x = x & y; </pre> <font color="orange" size="+1">'''参数'''</font> x: 字符型,整型,长整型变量 y: 字符型,整型,长整型常量 <font color="orange" size="+1">'''示例'''</font> 先来看下按位与(&)的用法 <pre style="color:dimgray"> 0 0 1 1 运算数1 0 1 0 1 运算数2 ---------- 0 0 0 1 (运算数1 & 运算数2) - 返回值 </pre> 任何数和0相与(&)后,所有位数都会清零,所有如果myByte是一个位变量 <pre style="color:dimgray"> myByte & B00000000 = 0; </pre> 任何数和1相与(&)后,所有位数都不会发生改变,同样有个变量myByte <pre style="color:dimgray"> myByte & B11111111 = myByte; </pre> '''注意''':由于我们可以用位操作数来处理位数据,所以在二进制常量的使用上会非常方便。某个二进制数可以用其他表达式来表示,只是不太方便理解。所以,B00000000这样写是为了看的更清楚点,不过它依然表示"0"。 所以,如果想要设置变量的某位为0或者1,而保持其他位不变的方法是,可与常量B11111100进行复合位与(&=)操作。 <pre style="color:dimgray"> /* 1 0 1 0 1 0 1 0 变量 1 1 1 1 1 1 0 0 掩码 ---------------------- 1 0 1 0 1 0 0 0 返回值 没有发生变化的位数 位数被清零 */ </pre> 我们用x来替换变量上的位值,可见结果是相同的: <pre style="color:dimgray"> x x x x x x x x variable 1 1 1 1 1 1 0 0 mask ---------------------- x x x x x x 0 0 没有发生变化的位数 位数被清零 </pre> 同理 <pre style="color:dimgray"> myByte = B10101010; myByte&= B11111100 == B10101000; </pre> <font color="orange" size="+1">'''扩展阅读'''</font> :- [[复合位或 | |=(复合位或)]] :- [[位与,位或,位异或| &(位与)]] :- [[位与,位或,位异或| |(位或)]] |} ---- [[Arduino语法参考 | 返回Arduino语法参考列表]] 更多建议和问题欢迎反馈至 [http://www.yfrobot.com YFRobot论坛]
返回
复合位与
。
导航菜单
个人工具
登录
名字空间
页面
讨论
不转换
变种
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
台灣正體
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
YF-论坛提问
YFRobot-直营店
YFRobot-企业店
Arduino
Arduino之入门篇
Arduino入门教程
Arduino语法参考
Arduino库
Arduino核心代码
编程平台
Mixly库
Mind+库
MakeCode扩展
传感器系列
积木式传感器系列
黑板传感器系列
蓝板传感器系列
Micro:Bit
Micro:Bit 通用基础教程
Valon智能车
Valon-I
帮助
帮助
wiki语法参考
工具箱
链入页面
相关更改
特殊页面
页面信息