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)如中所述