“^=”操作符是什么意思?

紫色动力 2011-01-18 10:46:13
语句:fState [x][y] ^= 1 ;
fState是个Bool类型的二维数组。不明白“^=”操作符是什么操作符。以fState[0][0]为例。假设次运行这个语句之前fState[0][0]为false,运行之后就为true,再次运行再次为flase。

我的问题,“^=”操作符作用是什么?谢谢!
...全文
799 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2011-01-20
  • 打赏
  • 举报
回复
与1异或则取反,与0异或则不变,这是一个常用的技巧.
sghdls 2011-01-20
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 yangglemu 的回复:]

谁说楼上说的都是正确的?
这是全面准确的解释:
第一个操作数的每一位与第二个操作数中对应的每一位进行比较。如果一位是 0,另一对应位是 1,则相应结果位设置为 1;如果两位都是 0 或两位都是 1,则相应结果位设置为 0。
[/Quote]



" ^= " 这个操作符是复合操作符:

a ^= b 相当于 a = a^b;
  • 打赏
  • 举报
回复
谁说楼上说的都是正确的?
这是全面准确的解释:
第一个操作数的每一位与第二个操作数中对应的每一位进行比较。如果一位是 0,另一对应位是 1,则相应结果位设置为 1;如果两位都是 0 或两位都是 1,则相应结果位设置为 0。
ziheyi 2011-01-20
  • 打赏
  • 举报
回复
紫色动力 2011-01-20
  • 打赏
  • 举报
回复
其实我主要是不知道^是什么意思,谢谢各位啦!
wangyangkobe 2011-01-20
  • 打赏
  • 举报
回复
^是按位异或。
对于任何一位,与1异或就相当于取反,与0异或结果
紫色动力 2011-01-20
  • 打赏
  • 举报
回复
谢谢各位,回家好好研究下再结贴,呵呵!
harleypang 2011-01-20
  • 打赏
  • 举报
回复
异或:相同则结果为1,不同则结果为0
xiaoxing215 2011-01-19
  • 打赏
  • 举报
回复
没有人说错!
LBJMD 2011-01-19
  • 打赏
  • 举报
回复
LS都说了
hujin7506020 2011-01-19
  • 打赏
  • 举报
回复
知道了
luciferisnotsatan 2011-01-19
  • 打赏
  • 举报
回复
^ 异或

知道 += 是什么,那也就知道 ^= 是什么了
proorck6 2011-01-19
  • 打赏
  • 举报
回复
异或
fState [x][y] = fState [x][y] ^ 1 ;
harleypang 2011-01-19
  • 打赏
  • 举报
回复
^=就是x=x^
玖昔 2011-01-19
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 eamoon2008 的回复:]
引用 3 楼 bluejays 的回复:
^是按位异或。
对于任何一位,与1异或就相当于取反,与0异或结果不变

+1
[/Quote]

+1
lzy6032 2011-01-19
  • 打赏
  • 举报
回复 1
[Quote=引用 3 楼 bluejays 的回复:]

^是按位异或。
对于任何一位,与1异或就相当于取反,与0异或结果不变
[/Quote]
re
某某9 2011-01-19
  • 打赏
  • 举报
回复
异或赋值
位运算和赋值运算的结合
Metrosexual 2011-01-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bluejays 的回复:]
^是按位异或。
对于任何一位,与1异或就相当于取反,与0异或结果不变
[/Quote]
+1
InfidelX 2011-01-18
  • 打赏
  • 举报
回复
XOR
bluejays 2011-01-18
  • 打赏
  • 举报
回复
如果a=1,那么a^1得到0
如果a=0,那么a^1得到1
这就起到了取反的作用
加载更多回复(4)

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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