首页 > 其他分享 >golang的位运算

golang的位运算

时间:2023-06-21 21:07:02浏览次数:40  
标签:0110 运算 valueAtBit fmt golang Printf bit 1011

二进制字节位的几个操作例子:

0110 &  1011 = 0010   // 与    AND 都为 1 
0110 | 1011 = 1111    // 或    OR 至少一个为 1
0110 ^ 1011 = 1101    // 异或  XOR  只能一个为1 
0110 &^ 1011 = 0100   // 位清除  AND NOT  清除标志位, 不都为1   a &^ b 的意思就是 清零a中,ab都为1的位
^0001 0100 = 1110 1011   //   ^作一元运算符表示是按位取反
fmt.Printf("%b\r\n", 1<<3)    1000  // <<  左移   
fmt.Printf("%b\r\n", 255>>3)  11111  //  >>  右移

常见场景函数

判断指定位的数字是否是1

// 获得num数字二进制时,bit位的值
func valueAtBit(num, bit int) int {
    return (num >> (bit - 1)) & 1
}
fmt.Printf("%b\r\n", 8)    // 1000
fmt.Printf("%b\r\n", valueAtBit(8, 3))   // 0
fmt.Printf("%b\r\n", valueAtBit(8, 4))   // 1

 

 

进制的表示

fmt.Printf("%d\r\n", 0b10) // 二进制的  2
fmt.Printf("%d\r\n", 012) // 八进制的 10
fmt.Printf("%d\r\n", 12) // 十进制的 12
fmt.Printf("%d\r\n", 0x12) // 十六进制 的 18

 

标签:0110,运算,valueAtBit,fmt,golang,Printf,bit,1011
From: https://blog.51cto.com/u_15588078/6531364

相关文章

  • Golang 图片上绘制文字
    之前介绍过使用FreeType-go来绘制字现在相关的包被做了整合,主要是整合到了github.com/golang/freetype和golang.org/x/image/font这里了,所以就有了这篇博客。 例子代码在:https://github.com/golang/freetype/blob/master/example/freetype/main.go packagemainimport(......
  • C++ 中的运算符重载
     您可以重定义或重载大部分C++内置的运算符。这样,您就能使用自定义类型的运算符。重载的运算符是带有特殊名称的函数,函数名是由关键字operator和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。https://www.lekaowang.com/jszgz/z......
  • 可重载运算符/不可重载运算符
     下面是可重载的运算符列表:双目算术运算符+(加),-(减),*(乘),/(除),% (取模)关系运算符==(等于),!=(不等于),<(小于),>(大于),<=(小于等于),>=(大于等于)逻辑运算符||(逻辑或),&&(逻辑与),!(逻辑非)单目运算符+(正),-(负),*(指针),&(取地址)自增自减运算符++(自增)......
  • Golang 中文转拼音
    翻遍整个GitHub,Golang中文转拼音类库,怎么就这么难找呢?于是我造了一个轮子:中文转拼音类库.目前来说应该是最好用的了.GitHub传送门:https://github.com/Lofanmi/pinyin-golang如果说基于汉字拼音字典,逐个汉字替换,也是可以转换的,但是碰到多音字就很麻烦了.而......
  • Java的7种位运算符
    位运算符在Java语言中,提供了7种位运算符,分别是按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<)、带符号右移(>>)和无符号右移(>>>)操作符语义描述运算规则&  按位与    二进制数据按位与操作如果两个二进制位上的数都是1,那么运算结果为1,其他情况运算结果......
  • GD指纹算法,指纹识别算法源码出售 指纹识别算法极度优化极坐标三角运算算法,源码级出售,
    GD指纹算法,指纹识别算法源码出售指纹识别算法极度优化极坐标三角运算算法,源码级出售,拿到即可移植应用。另有符合国际ISO标准的指纹识别算法,实现各种算法的指纹模板通比和加密传输ID:8162999597738557021......
  • Golang之map
    Golang之Map什么是Golang中的Map?在Golang编程语言中,Map(映射)是一种关联容器,用于存储键值对。它提供了一种非常高效的方式来存储和检索数据。Map是一种无序的数据结构,其中的键(key)是唯一的,而值(value)则可以重复。通过使用键来访问和修改值,我们可以在Map中快速地查找和更新数据。Gola......
  • 关于linq Where中的”或者“运算只查询出来满足一种条件的数据的问题,本质是IEnumerabl
    如下代码所示,其中的"query"返回值类型为IQuerablevarquery=_deviceRepository.GetAll().AsNoTracking().Where(a=>a.status=1);if(ture){query=query.Where(a=>(a.name=="a"&&a.sex=1)||a.name=="b");......
  • [连载]C#程序设计(05)--- C#核心编程-3 --- 表达式和运算符
    ......
  • A Practical Methodology, HSM, Handler,Service,Model, for Golang Backend Developm
    EverybodyisfamiliarwiththewidelyadoptedMVC(Model-View-Controller)pattern,whichhasbeenusedformanyyearsacrossvariouslanguagesandframeworks.MVChasproventobeapracticalpatternfororganizingprogramswithuserinterfacesandmultip......