Python将数字转换为二进制的方法主要有以下两种:
一、使用内置函数`bin()`
基本用法
`bin()`函数直接将整数转换为二进制字符串,结果以`0b`开头。例如:
$$
text{binary_num} = text{bin}(10) quad text{输出: } 0b1010
$$
去除前缀
若需仅获取二进制数值,可通过切片操作`[2:]`去除前缀:
$$
text{binary_num} = text{bin}(10)[2:] quad text{输出: } 1010
$$
二、手动实现转换(除以2取余法)
通过不断除以2并记录余数,最后将余数逆序排列:
$$
begin{align*}
10 div 2 &= 5 quad text{余数: } 0
5 div 2 &= 2 quad text{余数: } 1
2 div 2 &= 1 quad text{余数: } 0
1 div 2 &= 0 quad text{余数: } 1
end{align*}
$$
逆序后得到二进制`1010`。示例代码:
$$
def decimal_to_binary(n):
if n == 0:
return '0'
binary_num = ''
while n > 0:
binary_num = str(n % 2) + binary_num
n = n // 2
return binary_num
$$
三、其他进制转换扩展
Python还支持`oct()`(八进制)和`hex()`(十六进制)转换,例如:
$$
text{octal_num} = text{oct}(10) quad text{输出: } 0o12
text{hex_num} = text{hex}(10) quad text{输出: } 0xa
$$