首页 > 解决方案 > 如何在 Python 中处理和转换不同的碱基而不将它们解析为字符串?

问题描述

我有一个十六进制数字,我需要将其转换为二进制,以便能够对其执行按位运算。问题是我发现的所有将数字转换为二进制的函数(例如 format())都返回字符串,但我需要可以像二进制一样操作的数据类型中的数字。

找到 fomrat(),但返回字符串。我找到了 int(),它可以把它变成一个整数,但是找不到二进制的等价物。

例如,我正在尝试做的是:将 1 添加到 0b0001 并将总和设为 0b0010,当 0b0001 是字符串时,我没有找到这样做的方法。

标签: pythonbinaryhexdecimal

解决方案


无论你如何输入一个整数,Python 都会一视同仁。这意味着您可以完全按照您的期望进行数学运算。例如:

hex_num = 0xff

# We can show its binary equivalent
format(hex_num, 'b')

# We can also do math with it
result = hex_num + 1
# including bitwise operations
result2 = hex_num << 1

format然后,您可以使用类似或bin您已经找到的功能以您想要的任何格式输出结果。关键是“十六进制数”、“二进制数”或普通整数之间在内部没有区别。


推荐阅读