6 - Bit-wise operators in C


Bildiğimiz şeyler, shift’lerde 2’s complement konusunu da anlatıyor, sign extension gibi şeyler. Derleyici signed sayılar için ASRS yani aritmetik shift yaratırken unsigned sayılar için LSRS yani logical shift yaratıyor.

Bitmask yaratırken unsigned kullanmak sanıyorum daha mantıklı bu yüzden, doğruluk açısından

#define X (1U << 1) gibi şeylerden bahsediyor.