在 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 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短