Go 位运算

本文详细介绍了Go语言中的位运算符及其应用,包括左移、右移、按位与、按位或、按位异或及按位清除等操作,并通过实例展示了如何使用这些位运算符来实现特定的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 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

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值