我真的不能用Google的名字AND NOT取得任何有用的结果,这个运算符究竟是什么,以及如何用C这样的语言来实现呢?我检查了规范,那里没有任何帮助,但有一个表述为&^
(AND NOT)。
Go表达式的C等效项x &^ y
是just x & ~y
。字面意思是“ x
AND(按位非y
)。”。
在规范的算术运算符部分中,该操作被描述&^
为“位清除”操作,该操作可让您大致了解该操作的用途。作为两个单独的操作,~y
会将每个位转换为零,然后将清除中的相应位x
。每个零位将转换为1,这将保留中的对应位x
。
因此,如果您认为x | y
这是一种x
基于mask常量打开某些位的方法y
,则x &^ y
相反,将那些相同的位关闭。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句