Python 中的二进制数

新手上路,请多包涵

如何在不转换为十进制的情况下在 Python 中添加、减去和比较二进制数?

原文由 EkSwaim 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 301
2 个回答

您可以使用 bin() 和 int() 在二进制的字符串表示之间进行转换

>>> bin(88)
'0b1011000'
>>> int('0b1011000', 2)
88
>>>

>>> a=int('01100000', 2)
>>> b=int('00100110', 2)
>>> bin(a & b)
'0b100000'
>>> bin(a | b)
'0b1100110'
>>> bin(a ^ b)
'0b1000110'

原文由 John La Rooy 发布,翻译遵循 CC BY-SA 3.0 许可协议

我认为您对二进制是什么感到困惑。二进制和十进制只是数字的不同表示形式——例如 101 以 2 为底数和 5 以 10 为底数是相同的数字。加法、减法和比较操作对数字进行操作 - 101 基数 2 == 5 基数 10 加法是相同的逻辑操作,无论你在哪个基数上工作。你的 python 解释器可能在内部将东西存储为二进制的事实并不’ 影响您使用它的方式 - 如果您有整数类型,只需使用 +、- 等。

如果您有二进制数字串,则必须编写自己的实现或使用 int(binaryString, 2) 函数转换它们。

原文由 Steven Schlansker 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题