@oberallgeier :
...ich kann es selbst nicht besser erklären. Das war schon abgesendet bevor du dein Edit/Erklärungsversuch abgesetzt hattestDem kann ich zustimmen...
Die Bitmaske 0xFFFF8000 entspricht 0B11111111111111111000000000000000 (17 mal 1 und 15 mal 0)
Warum ((int)1 << 15) aber 0xFFFF8000 ergeben soll, ist mir so aus dem Stand etwas unklar. Ich hätte erwartet, dass die fehlenden Bits 16-31 mit 0 aufgefüllt werden.
Vielleicht wurde MEINBIT15 als 16bit Variable deklariert und dies als 16bitigen Grenzwert für ((int)1 << 15) angesehen? Das würde die Verwirrung erklären.
Gruß
mic
Lesezeichen