python中的按位取反运算

Python019

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

~9的计算步骤:

转二进制:0 1001

计算补码:0 1001

按位取反:1 0110

转为原码:1 0110

按位取反:1 1001 反码

末位加一:1 1010 补码

符号位为1是负数,即-10

规律:~x=-(x+1);

因此,t=~9(1001)并不能输出6(0110),而是-10;