Python(变换符号,位运算实际应用),,换符号就是正数变成负数,负数变成正数
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))
评论关闭