|=的含义是什么?

tslrwxl460859 2010-11-18 01:11:48
a |= b 代表什么意思,我知道是b和a或以后再赋值于a,但是代表什么什么意思呢
...全文
208 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
tslrwxl460859 2010-11-18
  • 打赏
  • 举报
回复
我的意思是指 a>>1 等价于a/2.而 上位仁兄说的 是等价于a++?
tslrwxl460859 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 kent0122 的回复:]

引用 1 楼 luciferisnotsatan 的回复:
或运算

a |= b 等价 a = a | b


++1
[/Quote]就是说是a|=b 等价于a++
kent0122 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 luciferisnotsatan 的回复:]
或运算

a |= b 等价 a = a | b
[/Quote]

++1
junjun151 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xiaoloveliuforever 的回复:]

跟 += -= 有本质上的区别吗?
[/Quote]

有 +=, -=有进位和退位操作,而|纯粹的位操作,不存在进退位
junjun151 2010-11-18
  • 打赏
  • 举报
回复
|= 的含义是指将a和b用二进制表示后,从低位向高位一位一位的查看,当a的该位和b的该位都为0时,设置该位为0,否则设置该位为1,一直进行该种操作,直到a和b的最高位。然后将重新将生成的数赋值给a。

意义: 为可以设置为0或者1,从而使一位可以表示一种属性的无或有,|= 的意义是将b的一些位属性赋值给a,如果a有该位属性,则不变化,如果a没有该位属性,则给a添加该属性
csdn码农 2010-11-18
  • 打赏
  • 举报
回复
楼主是想了解这会用在什么情况下吧?
一般用来设置某些位标记,清除时用flag &= 0x8等,设置时可以用 flag |= 0x8等。
Xiaoloveliuforever 2010-11-18
  • 打赏
  • 举报
回复
跟 += -= 有本质上的区别吗?
l302keshuiren 2010-11-18
  • 打赏
  • 举报
回复
a|=b;
优势在于a只用书写和计算一次,可以避免书写错误并提高效率。
像array[x*y*z-3]|=b;这样的表达式更能体现出优势
proorck6 2010-11-18
  • 打赏
  • 举报
回复
a和b进行位运算,再把结果赋给a
李明子 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xuwening 的回复:]
引用 2 楼 lthyxy 的回复:

引用 1 楼 luciferisnotsatan 的回复:

或运算

a |= b 等价 a = a | b

++


++

只是一种简写法,使表达式更简洁,更优美
[/Quote]
都说了,我也只能++了。
xy_zhang 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 tslrwxl460859 的回复:]
a |= b 代表什么意思,我知道是b和a或以后再赋值于a,但是代表什么什么意思呢
[/Quote]

你自己不是都描述清楚了么?或者你对位操作不理解?
sherryking1984 2010-11-18
  • 打赏
  • 举报
回复
运算符 符号
逗号 ,
条件(三元) ?:
相等 ==
大于 >
大于等于 >=
严格相等 ===
不等 !=
小于 <
小于等于 <=
逻辑与 &&
逻辑非 !
逻辑或 ||
非严格相等 !==


按位运算符
运算符 符号
按位与 &
按位左移 <<
按位取反 ~
按位或 |
按位右移 >>
按位异或 ^
无符号右移 >>>

xuwening 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lthyxy 的回复:]

引用 1 楼 luciferisnotsatan 的回复:

或运算

a |= b 等价 a = a | b

++
[/Quote]

++

只是一种简写法,使表达式更简洁,更优美
liutengfeigo 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 luciferisnotsatan 的回复:]

或运算

a |= b 等价 a = a | b
[/Quote]
++
luciferisnotsatan 2010-11-18
  • 打赏
  • 举报
回复
或运算

a |= b 等价 a = a | b

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧