常规 ^ 运算符

标签 groovy operators

当给定两个 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/

相关文章:

javascript - 我可以在 JS 中中断 try - catch 而不抛出异常吗?

c++ - 确定 operator[] 用途的目的

perl - yada-yada 运算符是否已被弃用?

grails - 错误 连接被拒绝 : Grails email verification using mail plugin

javascript - Groovy 可以运行 JavaScript 吗?

java - 用动态 JVM 语言补充 JUnit 测试电池

intellij-idea - 通过具有委托(delegate)闭包参数的 GDSL 脚本创建方法

rxjs - Angular 6 单元测试 rxjs 6 操作符点击单元测试拦截器

c++ - 如何创建使用重写函数的非成员函数?

java - 如何设置可从 Java 代码执行的 Groovy 脚本的属性?