go uint32 将某位是否是1
您可以使用位运算符对给定的uint32位进行测试,如下所示:
func isBitSet(num uint32, bitPos uint) bool {
// 左移位数为位位置
mask := uint32(1 << bitPos)
// 逻辑与操作返回非零值表示位被设置为1
return (num & mask) != 0
}
使用示例:
num := uint32(10) // 二进制表示为 1010
fmt.Println(isBitSet(num, 0)) // 输出 true,最后一位是1
fmt.Println(isBitSet(num, 1)) // 输出 false,倒数第二位是0
fmt.Println(isBitSet(num, 2)) // 输出 true,倒数第三位是1
输出:
true
false
true
原文地址: https://www.cveoy.top/t/topic/bpdq 著作权归作者所有。请勿转载和采集!