1print(0 & (1 << 80)) 2print(0 & (1 << 80) == 0) 3print(bool(0 & (1 << 80))) 4 5a = 0xfffffffffffffffffffffffffffff 6print(a & (1 << 80)) 7print((a & (1 << 80)) >> 80) 8print((a & (1 << 80)) >> 80 == 1) 9 10# test negative on rhs 11a = 123456789012345678901234567890 12print(a & -1) 13print(a & -2) 14print(a & -2345678901234567890123456789) 15print(a & (-a)) 16print(a & (-a - 1)) 17print(a & (-a + 1)) 18 19# test negative on lhs 20a = 123456789012345678901234567890 21print(-1 & a) 22print(-2 & a) 23print(-2345678901234567890123456789 & a) 24print((-a) & a) 25print((-a) & 0xffffffff) 26print((-a) & 0xffffffffffffffffffffffffffffffff) 27print((-a) & 2) 28print((-(1 << 70)) & 2) 29 30# test negative on lhs and rhs 31mpz = 1 << 70 32a = 123456789012345678901234567890 33print(-1 & (-a)) 34print(-2 & (-a)) 35print(-2345678901234567890123456789 & (-a)) 36print((-a) & (-a)) 37print((-a) & (-0xffffffff)) 38print((-a) & (-0xffffffffffffffffffffffffffffffff)) 39print((-1) & (-0xffffffffffffffffffffffffffffffff)) 40print((-a) & (-2)) 41print((-mpz) & (-2)) 42