当给定两个 bool 参数时,^ 运算符执行异或,例如
true ^ true == false
true ^ false == true
false ^ true == true
false ^ false == false
当给定两个数字参数时,它会执行某些操作,但我不知道是什么。一开始我以为是模分法,因为
(5 ^ 5) == 0
但是
(10 ^ 4) == 14
所以这不是模除法,是某种位移吗?
最佳答案
^
的作用与 Java 和大多数其他语言中的作用相同:
这是一个按位异或(简称:按位异或)
这意味着对于两个数字的二进制表示形式中的每一位,输出中的结果位将是 bit_in_first_value ^ bit_in_second_value
。
关于常规 ^ 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7094960/