Ich habe eine Frage zu der folgenden Aufgabe:

uint byte_1 = 165;
uint byte_2 = 200;
byte_1 = ~byte_1;
byte_2 = byte_2 >>3;

Sprich byte_1 müsste doch jetzt 90 sein. Und byte_2 = 25 oder?

Warum kommt dann bei:

(byte_1 > 200) & (byte_2 < 180) = True
(byte_1 < 200) | (byte_2 > 180) = False
(byte_1 < 200) ^ (byte_2 > 180) = false