运算符 ^ 对于参数类型是未定义的 long, boolean
The operator ^ is undefined for the argument type(s) long, boolean
当我对 Java 中的 long 数据类型执行 XOR (^) 操作时出现错误。
我不确定 Java 是否是这样工作的。
代码生成错误如下:
long a = 0, b = 0;
while (a < d) { // d is some value with datatype as long
while (b < d) {
if (a ^ b == c && a * b > max) { // error here (c is also some value with datatype as long)
max = a * b;
}
b += 1;
}
a += 1;
}
您需要像下面这样使用括号:
if ((a ^ b) == c && a * b > max) { // error here (c is also some
// value with datatype as long)
max = a * b;
}
^
的优先级低于 ==
,因此编译器认为您正在尝试与布尔值进行异或运算。
当我对 Java 中的 long 数据类型执行 XOR (^) 操作时出现错误。
我不确定 Java 是否是这样工作的。
代码生成错误如下:
long a = 0, b = 0;
while (a < d) { // d is some value with datatype as long
while (b < d) {
if (a ^ b == c && a * b > max) { // error here (c is also some value with datatype as long)
max = a * b;
}
b += 1;
}
a += 1;
}
您需要像下面这样使用括号:
if ((a ^ b) == c && a * b > max) { // error here (c is also some
// value with datatype as long)
max = a * b;
}
^
的优先级低于 ==
,因此编译器认为您正在尝试与布尔值进行异或运算。