/* * @Author : huangzj * @Time : 2020/12/3 11:56 * @Description:比特位操作的工作类,主要参考:https://learnku.com/go/t/23460/bit-operation-of-go 实现的工具 */ package bitOperation import ( "fmt" ) //判断num的二进制表示某个位置是否为1 func JudgeOneWithPosition(num int, position int) bool { if position < 1 { panic(fmt.Sprintf("输入有误:Position不能小于1,"+ "当前出入的Position为%d", position)) } return num&(1<= 0 } //设置某一个数num的二进制Position位为0 func SetZeroBuPosition(num int, position int) int { if position < 1 { panic(fmt.Sprintf("输入有误:Position不能小于1,"+ "当前出入的Position为%d", position)) } return num &^ (1 << uint(position-1)) }