好的,所以我有这段代码:
blah = (26^0)*(1);
System.out.println(blah);
当它应该等于 1 时,它会产生输出 26。我做错了什么?我能做些什么来解决这个问题?
好的,所以我有这段代码:
blah = (26^0)*(1);
System.out.println(blah);
当它应该等于 1 时,它会产生输出 26。我做错了什么?我能做些什么来解决这个问题?
我认为您使^
操作员感到困惑。在 Java 中,^
运算符执行异或运算。要获得力量,您需要使用Math.pow(a,b)
在 Java 中,运算符^
不是指数运算,而是按位异或。任何事物xor 0
都是它自己,所以26^0=26
,26*1=26
Math.pow(base, exponent)
作品。^
意思是按位异或。
所以,你应该使用:
blah = Math.pow(26, 0) * 1;
System.out.println(blah);
正如前面的回复所说,您实际上是在进行按位异或(结果为 26),然后乘以 1。有关更多信息,请参阅按位和位移运算符和运算符摘要。您应该使用 Math.pow(base, exponent) 所以 Math.pow(26.0, 0.0) 如Math api中所述