Python(变换符号,位运算实际应用),,换符号就是正数变成负数,负数变成正数


题目:换符号就是正数变成负数,负数变成正数。

思路:变换符号有很多种方法,比如用0减去这个数,或者用这个数乘以-1;除了这两种方发还可以用位运算来变换。

如对于-11和11,可以通过下面的变换方法将-11变成11

1111 0101(二进制) –>取反-> 0000 1010(二进制) –>加1-> 0000 1011(二进制)

同样可以这样的将11变成-11

0000 1011(二进制) –>取反-> 0000 0100(二进制) –>加1-> 1111 0101(二进制)

因此变换符号只需要取反后加1即可。

完整代码如下:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

def SignReversal(num):

return ~num+1

print(SignReversal(-11))


评论关闭