查看复合位或的源代码
←
复合位或
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
你刚才请求的操作只对属于该用户组的用户开放:
用户
您可以查看并复制此页面的源代码:
{| border="0" cellpadding="20" width="100%" |- |width="100%" valign="top" align="left"| <font color="orange" size="+1">'''描述'''</font> 复合位与(&=)经常被用来设置变量或者常量的某一位为0。代码中,常被用作"清零"或者"重置"变量的某位。 复合位或操作符(| =)经常用于变量和常量“设置”(设置为1),尤其是变量中的某一位。 <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 1 1 1(运算元1 | 运算元2) - 返回的结果 </pre> 如果变量myByte中某一位与0经过按位或运算后不变。 <pre style="color:dimgray"> myByte | B00000000 = myByte; </pre> 与1经过或运算的位将变为1. <pre style="color:dimgray"> myByte | B11111111 B11111111; </pre> 因此 - 设置变量的某些位为0和1,而变量的其他位不变,可与常量B00000011进行按位与运算(| =) <pre style="color:dimgray"> /* 1 0 1 0 1 0 1 0 变量 0 0 0 0 0 0 1 1 掩码 ---------------------- 1 0 1 0 1 0 1 1 没有发生变化的位数 位设置 */ myByte = 10101010; myByte &= B1111100 == B10101000; </pre> 接下来的操作相同,只是将变量用x代替 <pre style="color:dimgray"> x x x x x x x x variable 0 0 0 0 0 0 1 1 mask ---------------------- x x x x x x 1 1 没有发生变化的位数 位设置 </pre> 同理 <pre style="color:dimgray"> myByte = B10101010; myByte | = B00000011 == B10101011; </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语法参考
工具箱
链入页面
相关更改
特殊页面
页面信息