猿问

十六进制转化为二进制的问题


这是用位操作的办法转进制,不知道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,以此类推    

qq_zhaozhenwei_0

二进制数上补零什么意思
随时随地看视频慕课网APP
我要回答