Python Lamba函数为负数

时间:2016-10-21 04:03:25

标签: python-2.7 bit-manipulation twos-complement

我使用lamba函数将十进制负数转换为二进制二进制补码。但结果不是二进制数。

我的代码:

num1 = int(raw_input("Enter first bumber"))

if num1  < 0:
def tobin(x, count = 8):
     return "".join(map(lambda y:str((x>>y)&1), range(count-1, -1, -1)))
    num1 = tobin
print num1

结果:

Enter first bumber -5
<function tobin at 0x1f9c260>

预期结果应为1011。

谢谢。

1 个答案:

答案 0 :(得分:2)

num1 = int(raw_input("Enter first bumber:\t"))

def tobin(x, count=4):
    return "".join(map(lambda y: str((x >> y) & 1), range(count - 1, -1, -1)))
if num1  < 0:
    num1 = tobin(num1)
print num1

结果:

Enter first bumber: -5
1011