您可以使用位运算符对给定的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
go uint32 将某位是否是1

原文地址: https://www.cveoy.top/t/topic/bpdq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录