dshnx48866 2015-12-25 02:10
浏览 92
已采纳

Golang中的“&^”运算符是什么?

I can't really google the name AND NOT and get any useful results, what exactly is this operator, and how could I do this in a language like C? I checked the specification, and there is nothing helpful in there but a list that says it's &^ (AND NOT).

  • 写回答

2条回答 默认 最新

  • doutangqi4444 2015-12-25 02:25
    关注

    The C equivalent of the Go expression x &^ y is just x & ~y. That is literally "x AND (bitwise NOT of y)".

    In the arithmetic operators section of the spec describes &^ as a "bit clear" operation, which gives an idea of what you'd want to use it for. As two separate operations, ~y will convert each one bit to a zero, which will then clear the corresponding bit in x. Each zero bit will be converted to a one, which will preserve the corresponding bit in x.

    So if you think of x | y as a way to turn on certain bits of x based on a mask constant y, then x &^ y is doing the opposite and turns those same bits off.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 有人能看一下我宿舍管理系统的报修功能该怎么改啊?链表那里总是越界
  • ¥15 cs loadimage运行不了,easyx也下了,没有用
  • ¥15 r包runway详细安装教程
  • ¥15 Html中读取Json文件中数据并制作表格
  • ¥15 谁有RH342练习环境
  • ¥15 STM32F407 DMA中断问题
  • ¥15 uniapp连接阿里云无法发布消息和订阅
  • ¥25 麦当劳点餐系统代码纠错
  • ¥15 轮班监督委员会问题。
  • ¥20 关于变压器的具体案例分析