位运算

2022-11-22  本文已影响0人  JuMinggniMuJ
1.按位与
// GetBitsAnd 按位与:都为1  (0101&0011=0001)
//0101
//0011
//0001
func GetBitsAnd(a , b uint) uint {
    return a & b
}
2.按位或
// GetBitsOr 按位或:至少一个1  (0101&0011=0111)
//0101
//0011
//0111
func GetBitsOr(a , b uint) uint {
    return a | b
}
3.按位亦或
// GetBitsXor 按位亦或:只有一个1  (0101&0011=0110)
//0101
//0011
//0110
func GetBitsXor(a , b uint ) uint {
    return a ^ b
}
4.按位取反
// GetBitsNot 按位取反(1元)  (^0011=1100)
//0011
//1100
func GetBitsNot(a uint ) uint {
    return ^a
}
5.按位清除
// GetBitsAndNot 按位清除  (0110&1011=0100)
//0110
//1011
//0100
func GetBitsAndNot(a , b uint ) uint {
    return a &^ b
}
6.左位移
// GetLeftShift 左位移  (0001<<3=1000)
//0001
//3
//1000
func GetLeftShift(a ,b uint) uint {
    return a << b
}
7.右位移
// GetRightShift 右位移  (1000>>3=0001)
//1000
//3
//0001
func GetRightShift(a ,b uint) uint {
    return a >> b
}
上一篇 下一篇

猜你喜欢

热点阅读