Я столкнулся с (по-видимому) очень странным случаем.
Возьмите номер 2 (0b10
) и порисуйте его 1 (0b01
)
Это должно произвести 0b00
, что эквивалентно 0.
Однако здесь, где приходит г-н Шредингер:
var_dump(0b10 & 0b01); // int(0)
var_dump(0b10 & 0b01 == 0); // int(0)
var_dump(0b10 & 0b01 != 0); // int(0)
Виски. Танго. Фокстрот.
Я, по общему признанию, не самый острый, когда дело доходит до поразрядных операторов - так, может быть, я ужасно ужасно ошибался?
Однако в Python:
0b10 & 0b01 == 0
= True
0b10 & 0b01 != 0
= False
... так?