为了账号安全,请及时绑定邮箱和手机立即绑定

你如何读取每 N 位?

你如何读取每 N 位?

Go
慕哥6287543 2022-10-10 19:39:44
有一个 64 位有符号整数,我试图每 4 位读取一次。a := int64(1229782938247303441)for i := 0; i < 16; i++ {    fmt.Printf("%v\n", byte(a) >> 4)    a >>=  4 }最后一个值是 0,应该是 1。
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

用于a & 0xf获取底部 4 位。


该值0xf在低四位中具有一位,在所有其他位中具有零。按位与表达式的结果a & 0xf具有低四位a,所有其他位为零。


a := int64(1229782938247303441)

for i := 0; i < 16; i++ {

    fmt.Printf("%v\n", a & 0xf)

    a >>=  4 

}


查看完整回答
反对 回复 2022-10-10
  • 1 回答
  • 0 关注
  • 93 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号