戈朗的&q;&;^&q;运算符是什么? [英] What is the "&^" operator in golang?
本文介绍了戈朗的&q;&;^&q;运算符是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我真的不能在Google上搜索名称和NOT,并获得任何有用的结果,这个运算符到底是什么,我如何在像C这样的语言中做到这一点?我检查了规范,里面没有什么帮助,只有一个列表说它是&^
(并且不是)。
推荐答案
Go表达式x &^ y
的C等价物正好是x & ~y
。字面意思是"x
AND(按位NOT OFy
)"。
&^
将&^
描述为"位清除"操作,这使您可以了解它的用途。作为两个单独的操作,~y
会将每个1位转换为0,然后将清除x
中的相应位。每个0位都将转换为1,这将保留x
中的相应位。
因此,如果您认为x | y
是根据掩码常量y
打开x
的某些位的一种方式,则x &^ y
做的是相反的事情,并关闭那些相同的位。
这篇关于戈朗的&q;&;^&q;运算符是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文