
雨夜思念为您分享以下优质知识
在Python中,将数字转换为二进制主要有以下两种方法:
一、使用内置函数 `bin()`
直接调用 `bin()` 函数,传入要转换的数字,返回以 `0b` 开头的二进制字符串。例如:
```python
num = 10
binary = bin(num)
print(binary) 输出: 0b1010
```
去除前缀
若不需要 `0b` 前缀,可通过切片操作 `bin(num)[2:]` 去除。例如:
```python
binary = bin(num)[2:]
print(binary) 输出: 1010
```
二、手动实现转换(循环法)
通过反复除以2并记录余数,将十进制数转换为二进制字符串。例如:
```python
def decimal_to_binary(decimal_num):
if decimal_num == 0:
return "0"
binary_num = ""
while decimal_num >
0:
remainder = decimal_num % 2
binary_num = str(remainder) + binary_num
decimal_num //= 2
return binary_num
示例
num = 25
binary = decimal_to_binary(num)
print(binary) 输出: 11001
```
三、扩展:其他进制转换
八进制转二进制:
使用 `oct()` 函数,再通过 `bin()` 转换。例如:
```python
octal_num = 12
binary = bin(int(octal_num, 8))
print(binary) 输出: 0b1100
```
十六进制转二进制:直接使用 `bin()` 函数,传入十六进制字符串(前缀 `0x`)。例如:
```python
hex_num = "1F"
binary = bin(int(hex_num, 16))
print(binary) 输出: 0b11111
```
以上方法可根据需求选择使用,内置函数 `bin()` 最为简洁高效。