23.数字范围按位与 发表于 2020-12-26 题目 解析 与&只要有一个为0,则与的所有数为0 对每个 位 分别判断是否有0 首先判断m的第i位是否为0 然后判断第i位为0,且$>$m的最小的数是否大于n,如果大于,则这些都为1 代码12345678910int rangeBitwiseAnd(int m, int n) { int res = 0; for(int i = 0; (1ll << i) <= m; i++) { if(m >> i & 1) { if(((m & ~((1ll << i) - 1)) + (1ll << i)) > n) res += (1 << i); } } return res;} 本文作者: QeuroIzo 本文链接: http://example.com/2020/12/26/2019-2-6-23/ 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!