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

Java错误-我在这个指数上做错了什么?,java,exponential,Java,Exponential,好的,我有一段代码: blah = (26^0)*(1); System.out.println(blah); 当它应该等于1时,产生输出26。我做错了什么?如何解决这个问题?在Java中,运算符^不是指数运算,而是按位异或运算。任何xor 0都是它本身,因此26^0=26,26*1=26在Java中,运算符^不是指数运算,而是按位异或运算。任何xor 0都是它自己,所以26^0=26,26*1=26,我想你把^操作符弄糊涂了。在Java中,^操作符执行异或操作。要获得电源,您需要使用Math

好的,我有一段代码:

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

当它应该等于1时,产生输出26。我做错了什么?如何解决这个问题?

在Java中,运算符
^
不是指数运算,而是按位异或运算。任何
xor 0
都是它本身,因此
26^0=26
26*1=26
在Java中,运算符
^
不是指数运算,而是按位异或运算。任何
xor 0
都是它自己,所以
26^0=26
26*1=26
,我想你把
^
操作符弄糊涂了。在Java中,
^
操作符执行异或操作。要获得电源,您需要使用
Math.pow(a,b)
我认为您混淆了
^
操作符。在Java中,
^
操作符执行异或操作。要获得幂,需要使用
Math.pow(a,b)
Math.pow(base,index)
工作。
^
表示

因此,您应该使用:

blah = Math.pow(26, 0) * 1;
System.out.println(blah);
Math.pow(基数,指数)
^
表示

因此,您应该使用:

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

正如前面的回答所说,您实际上是在进行按位异或运算(结果为26),然后乘以1。有关更多信息,请参阅和。您应该使用Math.pow(base,exponent)和Math.pow(26.0,0.0),正如前面的回答所说,您实际上是在进行按位异或运算(结果为26),然后乘以1。有关更多信息,请参阅和。您应该使用Math.pow(base,exponent),因此Math.pow(26.0,0.0)如中所述