ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Go语言位运算

2022-04-09 15:04:02  阅读:183  来源: 互联网

标签:0000 运算 0011 结果 二进位 按位 1100 Go 语言


1 Go位运算符有如下几种

&:按位与:两位都为1,结果为1,否则为0
|:按位或:只要有一位为1,结果就为1
^:按位异或:两对应的二进位相异时,结果为1
<<:左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
>>:右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数

简单记法:

3<<4 :表示为3乘以2的4次方
2>>3 :表示为2除以2的3次方

2 案例

a = 60  # 二进制位 0011 1100
b = 13  # 二进制位 0000 1101

'''
a&b        按位与:两位都为1,结果为1,否则为0
a          0011 1100
b          0000 1101
二进制结果   0000 1100
十进制结果   12
'''
fmt.Println(a & b)

'''
a|b        按位或:只要有一位为1,结果就为1
a          0011 1100
b          0000 1101
二进制结果   0011 1101
十进制结果   61
'''
fmt.Println(a | b)


'''
a^b        按位异或:两对应的二进位相异时,结果为1 
a          0011 1100
b          0000 1101
二进制结果   0011 0001
十进制结果   49
'''
fmt.Println(a ^ b)


'''
<< 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0
a                0011 1100 
a << 2           1111 0000
十进制结果         240 
'''
fmt.Println(a << 2)


'''
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数
a         0011 1100       
a >> 2    0000 1111
十进制结果   15 
'''
fmt.Println(a >> 2)

标签:0000,运算,0011,结果,二进位,按位,1100,Go,语言
来源: https://www.cnblogs.com/liuqingzheng/p/16122011.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有