如何获得正数的负二进制数?

问题描述 投票:0回答:1

给定一个正数,我试图打印一个表示负二进制数的字符串。

我正在做这样的事情。

def NegativeBinary(number):

    number_below = number - 1
    bin_number_below = "{0:b}".format(number_below)

    # how can I invert this bin_number_below  afterwards, 
    # so that I return the negative of the number I got as an argument

    return bin_negative_number

我希望把给定的数字减去1 因为负二进制数基本上是数字1的二进制表示方式 零和1倒置了。

例 :

num = NegativeBinary(5)
print(num)


**** output ****

In[1]:  '1011' 

我知道这个事实,因为我正在处理字符串,这可能会有点 "棘手",但是如果有人给我一个关于如何做这个的想法,我会非常感激。

python string binary int
1个回答
1
投票

你可以直接做 number_below = -number它应该做你想要它做的事情。如果你减去一个,那么你只是在减去一个。

© www.soinside.com 2019 - 2024. All rights reserved.