我希望这个问题不是太愚蠢...我不知道^
运算符在Go中的作用,例如。
a := 3^500
起初我认为它必须是pow
,但肯定不是。它也不是mod
(%)。
我已经尝试查看文档并在Google上搜索,但遗憾的是Google并不认为^
是搜索字词。
答案 0 :(得分:18)
与大多数语言一样,插入符号运算符是按位异或。你在整数上使用它。
Wikipedia on the bitwise xor :
按位XOR采用两个相等长度的位模式并执行 对每对相应位进行逻辑异或运算。该 如果只有第一位是1或只有1,则每个位置的结果为1 第二位是1,但如果两者都是0或者两者都是1则为0.在此我们 执行两位的比较,如果两位是1,则为1 不同,如果它们相同则为0
按位XOR可用于反转寄存器中的选定位 (也称为切换或翻转)。可以通过对其进行异或来切换任何位 例如,给定位模式0010(十进制2),可以通过具有位模式的按位异或来切换第二和第四位。 在第二和第四位置包含1:
0010 (decimal 2)
XOR 1010 (decimal 10)
= 1000 (decimal 8)
该技术可用于操纵表示集合的位模式 布尔状态。