題目:換符號就是正數變成負數,負數變成正數。

思路:變換符號有很多種方法,比如用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))