golang二进制字节位的常用操作
golang作为一热门的兼顾性能 效率的热门语言,相信很多人都知道,在编程语言排行榜上一直都是很亮眼,作为一门强类型语言,二进制位的操作肯定是避免不了的,数据的最小的单位也就是位,尤其是网络中封包、拆包,读取二进制文件等用的特别广泛,所以学好golang二进制bit位的常用操作还是很必要的,而且很多运算尤其是乘法除法运算,CPU效率是很低的,这时候可以二进制操作代替,不多说了,上干货
package mainimport ("fmt""github.com/imroc/biu"
)/**golang二进制bit位的常用操作,biu是一个转换二进制显示的库mengdj@outlook.com*/
func main() {var(/**1个字节=8个二进制位,每种数据类型占用的字节数都不一样注意位操作千万不要越界了,如某个类型占8个bit位,偏移时候不要超过这个范围*/a uint8=30)//a输出结果:00011110fmt.Println(biu.ToBinaryString(a))/**将某一位设置为1,例如设置第8位,从右向左数需要偏移7位,注意不要越界1<<7=1000 0000 然后与a逻辑或|,偏移后的第8位为1,逻辑|运算时候只要1个为真就为真达到置1目的*/b:=a|(1<<7)//b输出结果:10011110fmt.Println(biu.ToBinaryString(b))/**将某一位设置为0ÿ
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
