在Python中,二进制数的表示方法如下:
一、二进制数的表示形式
前缀标识
二进制数需以 `0b` 或 `0B` 开头,例如:
```python
binary_num = 0b101 表示十进制的5
```
若省略前缀,Python会自动将数字解释为二进制(Python 3.2及以上版本)。
八进制与十六进制的兼容性
二进制数也可以用八进制或十六进制表示,Python通过前缀区分:
- 八进制:`0o100`(表示十进制的80)
- 十六进制:`0x100`(表示十进制的256)
二、进制转换方法
其他进制转十进制
使用 `int()` 函数,指定基数为2:
```python
decimal_num = int('1010', 2) 将二进制1010转换为十进制5
```
十进制转二进制
- 使用 `bin()` 函数:
```python
binary_str = bin(10) 输出 '0b1010'
```
- 去除前缀:
```python
binary_str_without_prefix = binary_str[2:] 输出 '1010'
```
- 手动转换(不使用内置函数):
```python
def int_to_binary(num):
binary_str = ''
while num > 0:
binary_str = str(num % 2) + binary_str
num = num // 2
return binary_str
print(int_to_binary(10)) 输出 '1010'
```
三、扩展应用:二进制位操作
Python支持对二进制数进行位运算,例如:
按位与(&):`a & b`
按位或(|):`a | b`
按位异或(^):`a ^ b`
左移(<<):`a << n`
右移(>>):`a >> n`
(注:上述操作需先确保操作数为二进制形式,可通过 `bin()` 转换)
以上方法覆盖了二进制数的表示、转换及基础操作,可根据需求灵活运用。