戈朗的&q;&^&q;运算符是什么? [英] What is the "&^" operator in golang?

查看:35
本文介绍了戈朗的&q;&^&q;运算符是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的不能在Google上搜索名称和NOT,并获得任何有用的结果,这个运算符到底是什么,我如何在像C这样的语言中做到这一点?我检查了规范,里面没有什么帮助,只有一个列表说它是&^(并且不是)。

推荐答案

Go表达式x &^ y的C等价物正好是x & ~y。字面意思是"xAND(按位NOT OFy)"。

arithmetic operators section of the spec中的&^&^描述为"位清除"操作,这使您可以了解它的用途。作为两个单独的操作,~y会将每个1位转换为0,然后将清除x中的相应位。每个0位都将转换为1,这将保留x中的相应位。

因此,如果您认为x | y是根据掩码常量y打开x的某些位的一种方式,则x &^ y做的是相反的事情,并关闭那些相同的位。

这篇关于戈朗的&q;&^&q;运算符是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆