6
(x | y) - y чому це не може бути просто x або навіть `x | 0`
Я читав код ядра, і в одному місці я побачив вираз всередині ifоператора, як if (value == (SPINLOCK_SHARED | 1) - 1) { ............ } де SPINLOCK_SHARED = 0x80000000є заздалегідь визначена константа. Цікаво, навіщо нам це потрібно (SPINLOCK_SHARED | 1) - 1- для перетворення типу? результат вираження буде 80000000-- такий …