剑指offer计划21( 位运算简单)—java

1.1、题目1

剑指 Offer 15. 二进制中1的个数

1.2、解法

通过判断每一位的与来识别1的数量。

1.3、代码

public class Solution {
    // you need to treat n as an unsigned value
    public int hammingWeight(int n) {
        int res=0;
        for(int i=0;i

2.1、题目2

剑指 Offer 65. 不用加减乘除做加法

2.2、解法

第一次做位运算的算法,直接看题解,找思路~~
两道题的解法都很有趣,之前都没用到过这些东西, 这些在嵌入式应该比较经常用上。

2.3、代码


class Solution {
    public int add(int a, int b) {
        while(b != 0) { // 当进位为 0 时跳出
            int c = (a & b) << 1;  // c = 进位
            a ^= b; // a = 非进位和
            b = c; // b = 进位
        }
        return a;
    }
}

Original: https://www.cnblogs.com/cxykhaos/p/15316427.html
Author: 程序员khaos
Title: 剑指offer计划21( 位运算简单)—java

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/714696/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球