在0中找1
https://www.bilibili.com/video/BV1UK411D724
题目
比如给定“10001110”,答案是4;
在比如“10001000”,答案是2;
那如果是“1000111010001000……”非常多、非常长呢?
与运算和右移的解
思路:
位运算的与操作:
……1(2)&1(2)=……1(2)
……1 | |
& | 1 |
……1 |
……0(2)&1(2)=……0(2)
……0 | |
& | 1 |
……0 |
右位移
>>
1 | 1 | 1 | 0 |
→
0 | 1 | 1 | 1 |