题目
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
需要掌握
1、异或运算
两个数不相同,结果为1。两个数相同,结果为0。
2、与运算
两位同时为“1”,结果才为“1”,否则为0
3、左移
将一个二进制操作数对象按指定的移动位数向左移,左边溢出的位数被丢弃,右边的空位用0补充。
4、计算机二进制加法运算:
思路
第一步
将两个数进行异或运算,此时得到的结果相当于不进位进行的加法运算
第二步
将两个数进行与运算,并将其结果进行左移得到最后的结果
第三步
将第一步的结果与左移后的结果进行异或得到的最终结果为终值
第四步
重复操作,直到当与运算的结果为0,则异或运算的结果则为两个加数的和所对应的二进制数
代码