今天的题目是实现不使用 加 或 减 运算符来实现数字相加。不使用这些运算符号来实现加减,那么就只能用位运算了来实现了。
那么该如何实现呢?位运算的使用方法一直没有很好地学习,只能上网搜一下了。最后参考了一下这篇文章:
https://www.jianshu.com/p/c8a0ed93dba4
代码如下:
1 /** 2 * @param {number} a 3 * @param {number} b 4 * @return {number} 5 */ 6 var getSum = function(a, b) { 7 while(b!=0){ 8 let aa = a^b; 9 let bb = (a&b)<<1; 10 11 a = aa; 12 b = bb; 13 } 14 15 return a; 16 };