var b byte = 0b00001111
shifted := b << 4 //向左移动 4 位
result := shifted | b // 按位或
result2 := shifted & b // 按位与
result3 := shifted ^ 0b00010000 // 按位异或
result4 := ^b // 按位取反
result5 := b &^ 0b00000100 // 按位清除
fmt.Printf("b:%08b\n", b) //00001111
fmt.Printf("shifted:%08b\n", shifted) // 11110000
fmt.Printf("result:%08b\n", result) // 11111111
fmt.Printf("result2:%08b\n", result2) // 00000000
fmt.Printf("result3:%08b\n", result3) // 11100000
fmt.Printf("result4:%08b\n", result4) // 11110000
fmt.Printf("result5:%08b\n", result5) // 00001011
fmt.Println(string(strconv.AppendInt([]byte{}, int64(b), 2))) // 1111
二进制相关
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 最近遇到点麻烦(上传商店,预编译能通过,只有点击提交审核两分钟之后出现二进制无效) (1)情况 产品提了一个需求 ...
- 本文为非常规的《计算机科学导论》课程讲义,适用于大一新生。初学者可能会觉得有点难。最好是不要畏难,跟上思路。相信没...