python中的按位取反运算

Python020

python中的按位取反运算,第1张

按位取反运算符:~运算结果:~x=-(x+1) 例如:~9为-10 ~(-9)为8 这不是按位取反吗?怎么结果是这样? 看下面。转二进制:0 1001 计算补码:0 1001 要知道它所表达的数是多少,需要转换为原码 _____ 转为原码:按位取反:1 1001 末位加一:1 1010 符号位为1是负数,即-10 转二进制:1 1001 计算补码:1 0111 要知道它所表达的数是多少,需要转换为原码____ 转为原码:正数的补码和原码相同,仍为:0 1000,即8

python 3的整型以16bit递增。

0xf0 =0b 0000 0000 1111 0000

~0xf0之后得到1111 1111 0000 1111

[1][111 1111 0000 1111]

确定是负数,有负数等于绝对值反码加一。求补码形式。

绝对值减1得:111 1111 0000 1110

反码得:000 0000 1111 0001

得-0xf1即-241(你那的~a[0]得-241)

要求得到[0,256),限定一下范围即可。

>>> (~a[0])&0xff

15