位操作 找二进制的某一位是什么

img

img


题目要求是用位操作来找出1232(十进制)变为二进制之后的从右向左数第五位 我查了一下位操作 但是这样print出来不是第五位
还有这一串代码if byte & (1<< index):看不懂

移位错误,应该是 5-1.
1232 的二进制 为10011010000, 1<<4 意思是二进制下1左移四位 为 10000;
& 是按位与运算符 byte & (1<< index)则结果为 0b10000 说明当前第五位为1

你把输出截图看一下