Bitoperatoren mit vorzeichenbehafteten Zahlen (wie Int64 im OP) zu verwenden ist etwas befremdlich da manchmal unintuitiv.
Das stimmt,
aber die Bits sind ja erstmal gleich für Int64 und UInt64.
Der Bit-Operation sollte das erstmal egal sein.
Erst nach der Bit-Operation wird die Bewertung (Signed/Unsigned) gemacht,
und da könnte man schonmal logisch leicht daneben liegen.