首页  > 教育解读  > python中二进制怎么计算

python中二进制怎么计算

2025-05-01 15:52:49
肖老师
肖老师已认证

肖老师为您分享以下优质知识

Python二进制运算主要分为数值转换、位运算和二进制数据处理三类,具体方法如下:

一、数值转换

二进制字面量

直接使用`0b`前缀表示二进制数,例如`0b1010`表示十进制的10。

内置函数转换

- `bin(number)`:将整数转换为二进制字符串(如`bin(10)`返回`'0b1010'`);

- `int(binary_str, 2)`:将二进制字符串转换为整数(如`int('1010', 2)`返回10);

- `format(number, 'b')`:格式化输出二进制字符串(如`format(10, 'b')`返回`'1010'`)。

二、位运算

Python支持以下位运算符:

按位与(&):

全1为1,否则为0(如`0b101 & 0b110`结果为`0b100`);

按位或(|):

有1为1,否则为0(如`0b101 | 0b110`结果为`0b111`);

按位异或(^):

不同为1,相同为0(如`0b101 ^ 0b110`结果为`0b011`);

按位取反(~):

0变1,1变0(如`~0b101`结果为`-0b100`);

位移运算:

``(右移)。

三、二进制数据处理

bytes对象操作

- 创建:`bytes([65, 66, 67])`生成二进制数据`b'ABC'`;

- 读写文件:使用`open('test.bin', 'wb')`写入二进制数据,`open('test.bin', 'rb')`读取。

示例代码

```python

数值转换

binary_str = bin(10) '0b1010'

decimal_num = int('1010', 2) 10

formatted_binary = format(10, 'b') '1010'

位运算

a = 5 0b101

b = 3 0b11

print(a & b) 0b100 (128)

print(a | b) 0b111 (7)

print(a ^ b) 0b010 (6)

print(~a) -0b100

二进制数据处理

data = bytes([65, 66, 67])

with open('test.bin', 'wb') as f:

f.write(data)

with open('test.bin', 'rb') as f:

read_data = f.read()

print(read_data) b'ABC'

```

以上方法覆盖了Python中二进制运算的核心操作,可根据需求选择使用。