Go 位运算

xuheazx · · 7070 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

// xuhh_go_位运算符 project main.go

/*
    位移操作 << : 向左移位     可以看做是 乘以2的几次方
    位移操作 >> : 向右移位        可以看做是 除以2的几次方
    and操作 &  : 都为1 才是1
    or 操作 |  : 只要有一个是1 那么就是1
    取反 ^  :有一个为1   就是1  两个1 或者两个0  全是 0
    标志位操作 &^ :  a &^ b  =  (a^b) & b   其实就是清除标记位
        (将a中为1的位  如果b中相同位置也为1,则将a中该位置修改为0,a中其他位不变)

*/
package main

import (
	. "fmt"
)

func main() {
	var p = Person{"xuhh", "12"}
	Println(p)

	const a = 2   //0010
	const b = 6   //0110
	const c = 11  //1011
	var d = a ^ c //1001 9
	Println(d)

	d = b &^ c // 0110  1011
	Println(d) // 0100

	var a1 = 0
	a1 |= 1 << 2 //0100
	Print(a1, " ")
	a1 |= 1 << 3 // 1100  12  a1 + a1 * 2*2*2
	Print(a1, " ")
	a1 |= 1 << 4 //0001 1100 28
	Print(a1, " ")

	a1 = a1 &^ (1 << 2)
	Println(a1) // 0001 1000 24

}



有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:xuheazx

查看原文:Go 位运算

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

7070 次点击  ∙  1 赞  
加入收藏 微博
被以下专栏收入,发现更多相似内容
下一篇:MongoDB 安装
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传