这是用位操作的办法转进制,不知道a&1<<i?1:0 是什么意思,如果要在二进制数上补零应该怎么改?感谢回答
2 回答
已采纳
qq_zhaozhenwei_0
TA贡献2条经验 获得超0个赞
1装换成2进制的话是 0000 0000 0000 0001 ,这里假设1是short类型的,两个字节,当然也可以是int的4字节 0000 0000 0000 0000 0000 0000 0000 0001。1<<i :即每次向左移动i位,比如第一次循环i=15. 1<<15 等于 1000 0000 0000 0000 ,这个时候把a展开成二进制,与1<<15进行与与运算,0与 0或1都为0,这样只需要看第十六位的1与a的第十六位做与运算结果,为1的话说明 a 的第十五位为1 ,为0的话说明 a 的第十五位为0,以此类推
- 2 回答
- 0 关注
- 1404 浏览
添加回答
举报
0/150
提交
取消