NC144 懂二进制 发表于 2022-06-12 分类于 leetcode 阅读次数: Valine: 本文字数: 404 阅读时长 ≈ 1 分钟 描述世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?示例1输入:3,5返回值:2说明:3的二进制为11,5的二进制为101,总共有2位不同 示例2输入:1999,2299复制返回值:7 12345678910111213141516171819202122class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param m int整型 * @param n int整型 * @return int整型 */ int countBitDiff(int m, int n) { int ans = 0; // 按位异或,不同的位变为1 int tmp = m ^ n; while (tmp) { tmp &= (tmp-1); ans++; } return ans; }}; 坚持原创分享,您的支持将鼓励我继续创作 打赏 微信支付 支付宝 本文作者: Jacob Jin 本文链接: http://kingsleynuaa.github.io/2022/06/12/leetcode-the-diff-bit-number/ 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处! 欢迎关注我的其它发布渠道 Twitter 微信公众号 ------------- 本文结束,感谢阅读 如有问题可留言交流 -------------