groovy ^运算符

时间:2011-08-17 15:00:17

标签: groovy operators

当给出两个布尔参数时,^运算符执行exclusive或者,例如

true ^ true == false
true ^ false == true
false ^ true == true
false ^ false == false

当给出两个数字参数时,它会做一些事情,但我不知道是什么。起初我认为这是模块化部门,因为

(5 ^ 5) == 0

然而

(10 ^ 4) == 14

所以它不是模块化的划分,它是某种位移?

1 个答案:

答案 0 :(得分:12)

^与Java和大多数其他语言的功能相同:

这是一个按位异或(短:按位异或)

这意味着对于两个数字的二进制表示中的每个位,输出中的结果位将是bit_in_first_value ^ bit_in_second_value