为什么0xff取反是-256呢也就是0x100???
比如:
a = 0xff
print(~a, hex(~a))
>>>-256
>>>0x100
python存储是按补码。但按照道理,0xff逐位置取反不应该是0x0也就是0吗?
也可以是0也可以是-256,看你怎么理解了。0和256,以及-1和255本质上是一回事。取决于你怎么理解最高位是不是符号位
没问题吧
0xff 换成0b011111111再取反,就变成:0b100000000,也就2**8 = 256,然后对正号也取反,就变成负号。