Programmieren m?

1 Antwort

Beim ersten Term brauchst du gar nicht zu rechnen, denn dieser ist trivial wahr. Es geht darum, ob bei den gleichen Eingabewerten die "Oder" oder die "Und" Operation auf Bits den größeren (oder gleichen) Wert ergibt. Da eine Disjunktion bei gleichen Werten per definition gleich viel oder mehr ausgibt, als eine Konjunktion, ist dies wahr (https://de.wikipedia.org/wiki/Junktor).
(sonst 15 = 1111, 7 = 111. 1111| 111 = 1111 (15), was größer ist als 1111&111 = 111 (7) => true / wahr)

Bild zum Beitrag

Beim zweiten Term ist Rechnen angesagt. Beim >> Operator handelt es sich um einen Bitshift. Also 4 (binär: 100) wird um zwei Stellen nach rechts bewegt => 1.
9/2 - 3 ist 1.5, also ist das Ergebnis 2.5 (ohne Beachtung von Ungenauigkeiten bei Gleitkommazahlen | https://en.wikipedia.org/wiki/Floating-point_arithmetic#Accuracy_problems).

Ebenso durch Python (welches hier als Tag angegeben ist):

Python 3.12.7 (main, Oct 2 2024, 14:10:19) [GCC 14.2.1 20240910] on linux
Type "help", "copyright", "credits" or "license" for more information.

>>> (15|7) >= (7&15)
True
>>> (4>>2) + 9/2 - 3.0
2.5
Woher ich das weiß:eigene Erfahrung – Langjähriger Poweruser & praktische Programmiererfahrung
 - (Java, Python, Programmiersprache)