golang二进制字节位的常用操作

本文探讨了Golang作为一种高性能语言,在处理二进制位操作时的重要性。从网络封包、拆包到读取二进制文件,位操作广泛应用。了解并熟练掌握这些操作能提高代码效率,特别是在乘法和除法运算中,可以用位操作替代以提升CPU效率。
摘要由CSDN通过智能技术生成

golang作为一热门的兼顾性能 效率的热门语言,相信很多人都知道,在编程语言排行榜上一直都是很亮眼,作为一门强类型语言,二进制位的操作肯定是避免不了的,数据的最小的单位也就是位,尤其是网络中封包、拆包,读取二进制文件等用的特别广泛,所以学好golang二进制bit位的常用操作还是很必要的,而且很多运算尤其是乘法除法运算,CPU效率是很低的,这时候可以二进制操作代替,不多说了,上干货

package main
 
import (
    "fmt"
    "github.com/imroc/biu"
)
 
/**
    golang二进制bit位的常用操作,biu是一个转换二进制显示的库
    mengdj@outlook.com
 */
func main() {
    var(
        /**
        1个字节=8个二进制位,每种数据类型占用的字节数都不一样
        注意位操作千万不要越界了,如某个类型占8个bit位,偏移时候不要超过这个范围
         */
        a uint8=30
    )
    //a输出结果:00011110
    fmt.Println(biu.ToBinaryString(a))
    /**
    将某一位设置为1,例如设置第8位,从右向左数需要偏移7位,注意不要越界
    1<<7=1000 0000 然后与a逻辑或|,偏移后的第8位为1,逻辑|运算时候只要1个为真就为真达到置1目的
     */
     b:=a|(1<<7)
     //b输出结果:10011110
     fmt.Println(biu.ToBinaryString(b))
     /**
     将某一位设置为0ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值