在 JavaScript 中不使用“+”、“-”、“/”、“*”求两个数字的总和
我们需要编写一个JavaScript函数add(),它接受两个数字m和n。该函数应该在不使用四个基本算术运算的情况下将作为输入的两个数字相加并返回总和。
示例
此代码将是-
const m = 67, n = 33;
const add = (x, y) => {
while(y !== 0){
let carry = x & y;
x = x ^ y;
y = carry << 1;
};
return x;
};
console.log(add(m, n));解释
可以通过对两位进行异或(^)来获得两位的和。并且可以通过执行两位的AND(&)来获得进位位。
我们在这里使用了半加器逻辑的扩展版本,该逻辑可用于添加2个单个位以添加两个整数。如果x和y没有设置相同的position(s)位,则x和y的按位异或(^)给出x和y的总和。
为了合并公共设置位,还使用了按位与(&)。x和y的按位AND给出所有进位位。我们已经计算了(x&y)<<1并将其添加到x^y以获得所需的结果。
输出结果
控制台中的输出将是-
100
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短