pow (x, y) in Java
Was ist der Unterschied zwischen:
Math.pow ( x,y ); //x^y
:
x^y; //x^y
?
Wird, die ich lieber verwenden x^y
mit double
zahlen eingeben? Oder shell habe ich immer mit Math.pow()
Methode?
InformationsquelleAutor der Frage Master C | 2011-04-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
^
ist die bitweise exklusiv-ODER - (XOR) operator in Java (und vielen anderen Sprachen). Es ist nicht für die Potenzierung. Für die, die Sie verwenden müssenMath.pow
.InformationsquelleAutor der Antwort Michael Petrotta
Zusätzlich für das, was gesagt wurde, wenn Sie möchten, ganzzahlige Potenzen von zwei, dann
1 << x
(oder1L << x
) ist ein schneller Weg, um zu berechnen, 2x alsMath.pow(2,x)
oder eine Multiplikation loop, und die garantiert ist, geben Sie eineint
(oderlong
) Ergebnis.Verwendet es nur die untersten 5 (oder 6) bits
x
(d.h.x & 31
(oderx & 63
)), wenn die Verschiebung zwischen 0 und 31 (oder 63) bits.InformationsquelleAutor der Antwort Paŭlo Ebermann
In Java
x ^ y
ist einXOR
Betrieb.InformationsquelleAutor der Antwort WhiteFang34
x^y
ist nicht "x
an die macht dery
". Es ist "x
XORy
".InformationsquelleAutor der Antwort Oliver Charlesworth