Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
比如说,你有一个代表一个 8 位字节的 8 个字符的字符串;即'00000000'(0),你想翻转一个位,使其成为'00010000'(16)。最好或最优雅的方法是什么?
'00000000'
'00010000'
在谈到位操作时,在第 n 个位置翻转单个位的经典方法是
x ^= 1 << n
XOR 1 总是翻转该位。但是如果你使用字符串,那么每个字符都不是位,而是整个字节。因此,您可以尝试使用 XOR 1 并将新符号插入回字符串中来进行字符串到整数的转换。或者只是使用 if-else 语句。