0

比如说,你有一个代表一个 8 位字节的 8 个字符的字符串;即'00000000'(0),你想翻转一个位,使其成为'00010000'(16)。最好或最优雅的方法是什么?

4

1 回答 1

0

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

x ^= 1 << n

XOR 1 总是翻转该位。但是如果你使用字符串,那么每个字符都不是位,而是整个字节。因此,您可以尝试使用 XOR 1 并将新符号插入回字符串中来进行字符串到整数的转换。或者只是使用 if-else 语句。

于 2018-08-10T20:54:27.467 回答