好吧,所以我有這段代碼:Java錯誤 - 我在做什麼錯這個指數?
blah = (26^0)*(1);
System.out.println(blah);
它產生輸出26,當它應該等於1,什麼是我做錯了什麼?我能做些什麼來解決這個問題?
好吧,所以我有這段代碼: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
Math.pow(base, exponent)
的作品。 ^
表示Bitwise-XOR。
所以,你應該使用:
blah = Math.pow(26, 0) * 1;
System.out.println(blah);
正如前面的答覆說你實際上是做一個按位異或(導致26),然後乘以1見Bitwise and Bit Shift Operators和Summary of Operators獲取更多信息。你應該使用Math.pow(base,exponent),所以Math.pow(26.0,0.0)如Math api
中所述。我該如何取冪? – adammenges 2011-02-05 04:15:26