题目
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
思路
两数相加,不使用四则运算,就只能使用位运算。包括两部分,两数直接相加的部分,和两数相加后的进位部分
两数按位异或:得到直接相加部分,不包括相加后需要进位的部分
两数按位相与:相与可以得到两数都为1的位数,向左移动一位,就是两数相加进位后的大小
将两部分相加,仍然可能发生进位,所以需要循环上述操作
代码
1 | function Add (num1, num2) { |
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
两数相加,不使用四则运算,就只能使用位运算。包括两部分,两数直接相加的部分,和两数相加后的进位部分
两数按位异或:得到直接相加部分,不包括相加后需要进位的部分
两数按位相与:相与可以得到两数都为1的位数,向左移动一位,就是两数相加进位后的大小
将两部分相加,仍然可能发生进位,所以需要循环上述操作
1 | function Add (num1, num2) { |