翻转位串中的单个位的最佳方法是什么?

时间:2018-08-07 04:49:51

标签: string python-3.x bit-manipulation bits bitstring

例如,您有一个8个字符的字符串,表示8位字节;即glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 2, 0); (0),而您想翻转一位,使其变为'00000000'(16)。最好或最优雅的方式是什么?

1 个答案:

答案 0 :(得分:0)

在谈到位操作时,在第n个位置翻转单个位的经典方法是

x ^= 1 << n

XOR 1总是将其翻转。 但是,如果使用字符串,则每个字符不是位,而是整个字节。因此,您可以尝试使用XOR 1并将字符串重新插入字符串,将字符串转换为整数。或仅使用if-else语句。