将位从0翻转到1

2024-10-16 17:16:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个由

011

我想把索引0处的位翻转到1,这会给我:

111

因为python不允许我在最初计划的位置使用整数表示位:

mybit = 011

这给了我一个错误。所以我找到的唯一方法就是用字符串来表示它:

mybit = "011"

但由于字符串是不可变的,所以我无法找出任何方法将索引0处的0翻转为1。从头开始创建一个新的字符串似乎不可行,因为它看起来不像我正在翻转它。如果你能帮上忙,我会很感激的


Tags: 方法字符串错误整数计划我会mybit
1条回答
网友
1楼 · 发布于 2024-10-16 17:16:16

你在正确的轨道上。将其表示为整数。你知道吗

mybit = 0b011

使用^(按位异或)运算符翻转位。第二个操作数中为1的位将翻转。你知道吗

mybit ^= 0b100

使用|(按位或)设置位(即使已经设置)。将设置第二个操作数中为1的位。你知道吗

mybit |= 0b100

使用&(按位and)清除位(即使已经清除)。第二个操作数中为0的位将被清除。你知道吗

mybit &= 0b011

以二进制格式打印。你知道吗

print(bin(mybit))

相关问题 更多 >