gpt4 book ai didi

java - 如何在任何语言中翻转整数中特定位置的位

转载 作者:太空狗 更新时间:2023-10-29 17:54:30 32 4
gpt4 key购买 nike

我有一个整数 n,我想翻转它的二进制表示中的第 k 位(从最低位开始)。我该怎么做?

例如,如果我有n=0b01101k=2,那么结果就是0b01001=9

任何语言都可以。谢谢。

最佳答案

要翻转一位或多位,请使用 binary XOR .在您的情况下,适当的 XOR 掩码是 1 shifted向左 k 位。

在 Python 中:

In [58]: 0b01101 ^ (1 << 2)
Out[58]: 9

表达式:

n ^ (1 << k)

在 C、Java、Python 和其他一些语言中有效(前提是变量已适当定义)。

关于java - 如何在任何语言中翻转整数中特定位置的位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18247126/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com