Java-Ergebnisse unterscheiden sich für (int) Math.pow (2, x) und 1 << x
Warum führen die folgenden beiden Operationen in Java zu unterschiedlichen Ergebnissen fürx = 31
oder32
aber die gleichen ergebnisse fürx=3
?
<code>int x=3; int b = (int) Math.pow(2,x); int c = 1<<x; </code>
Ergebnisse:
<code>x=32: b=2147483647; c=1; x=31: b=2147483647; c=-2147483648; x=3: b=8 ; c=8 </code>