Go 中的位操作:设置和清除各个位
在 Go 中,操作整数中的各个位对于各种情况都是有用的技术应用程序。实现此目的的一种方法是通过按位运算。
设置位
要在特定位置设置位,可以使用以下函数:
func setBit(n int, pos uint) int { n |= (1此函数通过使用
清除位
清除位位在特定位置,可以使用以下函数:
func clearBit(n int, pos uint) int { mask := ^(1此函数通过使用 ^ 运算符反转目标位置处的位来创建掩码。生成的掩码实际上将目标位设置为 0。当您将此掩码与原始整数进行 AND (&) 运算时,目标位将被清除,而其他位保持不受影响。
检查位是否is Set
最后,您可以使用以下函数检查是否设置了位:
func hasBit(n int, pos uint) bool { val := n & (1 0 }该函数将整数与相应位设置为 1 的掩码进行 AND 运算。如果结果大于 0,则表明目标位已设置,函数返回 true 。否则,返回 false。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3