'10111' 然后我想在没有补码的情况下否定它,结果应该是“01000”,但似乎没有任何作用 其-6ren">
gpt4 book ai didi

python - 在python中打印二进制然后求反而不补码

转载 作者:行者123 更新时间:2023-11-30 23:29:10 37 4
gpt4 key购买 nike

我是 python 新手,尝试做类似的事情:

a=23
"{0:b}".format(a)

---> '10111'

然后我想在没有补码的情况下否定它,结果应该是“01000”,但似乎没有任何作用

其次,我必须用 0 填充左侧,我发现了类似的内容

"{0:12b}".format(a)
' 10111'

但它只会使字符串变得更长,并用空格填充它

编辑:对我来说完美的解决方案是

"{0:12b}".format(a)
'000000010110'
"{0:12b}".format(~a)
'111111101001'

(当然这样不行)

最佳答案

12 前面放置一个 0,以便在输出左侧填充零。

In [1]: "{0:012b}".format(a)
Out[1]: '000000010111'

对于这些比较,您可以进行字符串操作,或数学方式:

 In [2]: "{0:012b}".format(2**12-1-a)
Out[2]: '111111101000'

只需将2**12更改为您要显示的位数

关于python - 在python中打印二进制然后求反而不补码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21259495/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com