猿问
十六进制转化为二进制的问题
这是用位操作的办法转进制,不知道a&1<<i?1:0 是什么意思,如果要在二进制数上补零应该怎么改?感谢回答
FOSS
浏览 1399
回答 2
2回答
qq_zhaozhenwei_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,以此类推
0
0
0
qq_zhaozhenwei_0
二进制数上补零什么意思
0
0
2
随时随地看视频
慕课网APP
相关分类
C
typedef入门问题
1 回答
我要回答