Java错误 - 我在做什么错这个指数?

问题描述:

好吧,所以我有这段代码:Java错误 - 我在做什么错这个指数?

blah = (26^0)*(1); 
System.out.println(blah); 

它产生输出26,当它应该等于1,什么是我做错了什么?我能做些什么来解决这个问题?

我想你是混淆^运营商。在Java中,^运算符执行排他操作。要获得功率,您需要使用Math.pow(a,b)

在Java中,运算符^不是指数,而是按位xor。任何东西xor 0本身,所以26^0=26,26*1=26

+0

中所述。我该如何取幂? – adammenges 2011-02-05 04:15:26

Math.pow(base, exponent)的作品。 ^表示Bitwise-XOR

所以,你应该使用:

blah = Math.pow(26, 0) * 1; 
System.out.println(blah); 

正如前面的答复说你实际上是做一个按位异或(导致26),然后乘以1见Bitwise and Bit Shift OperatorsSummary of Operators获取更多信息。你应该使用Math.pow(base,exponent),所以Math.pow(26.0,0.0)如Math api