算法学习——实现一个加法运算,不适用 + - *

2020-03-31  本文已影响0人  松花江以南

算法要求如题

需要了解下面几个概念:\color{red} {按位与、按位或、异或、左移、右移等}

运算符 含义
& 按位与
| 按位或
^ 按位异或
<< 左移
>> 右移
按位与 按位或 异或 左移1位 右移1位
a & b a | b a ^ b << 1 >> 1



\color{red} {Swift代码块如下}

Swift代码块

class Solution {
    class func  add(_ a: Int, _ b: Int) -> Int {
        var num1 = a
        var num2 = b
        while num2 != 0 {
            let plus = num1 ^ num2
            num2 = (num1 & num2) << 1
            num1 = plus
        }
        return num1
    }
}

Solution.add(15, 9)
Solution.add(10, 9)
Solution.add(1995, 3339)

打印结果:
24
19
5334
上一篇 下一篇

猜你喜欢

热点阅读