位运算

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
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文集:iOS 知识补充[https://www.jianshu.com/c/1422baa6495c] 前言 这篇...
    欧德尔丶胡阅读 1,185评论 0 2
  • 1 java运算符 1.1 各个运算符一览 序号符号名称结合性(与操作数)对目说明1.点从左到右双目2()圆括号从...
    上善若泪阅读 755评论 0 1
  • 本人非科班出身,但由于想从事这一行业,希望进阶到更高的境界,可是面试了几次发现没有一些基础确实是有些难以支撑自己,...
    Su_yj阅读 571评论 0 0
  • 计算机和真实生活中不同,一个数在计算机中只能以二进制(0或者1)的方式表示,现实生活中主要以十进制表示,在二进制的...
    彭阿三阅读 204评论 0 0
  • 位运算 1. &:按位与 规律:一假则假任何位上的数和1相&得到的结果还是那个数 2. |:按位或 规律:一真则真...
    silasjs阅读 247评论 0 1