Wieso kommt bei Java das falsche raus?

2 Antworten

^ ist in Java nicht das, was du in dem Fall hier jetzt erwartest - es ist nicht das Zeichen, um den Exponenten von der Basis zu trennen, sondern ein bitweises XOR.

^ hat eine niedrigere Priorität als +, weshalb deine Formel als ((2^(3 + 2)) / 2) interpretiert wird.

Betrachten wir zuerst die XOR-Operation: 2 ^ 5 entspricht binär 0010 ^ 0101, womit als Ergebnis dieser Operation 0111 (= 7) rauskommt. 7 / 2 entspricht 3, da Integer-Division.

Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)