文章标题

来源:互联网 发布:mac跳过打开软件验证 编辑:程序博客网 时间:2024/05/22 06:10

ex2

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
可以用位操作来解。比如考虑5+6
5 –>101     6–>110

step1:  (5&6)<<1=1000  =>8
5^6=011=>3

step2:(8&3)<<1=0————————>跳出循环
8^3=1011=11——————————>结果

所以写出

int Add(int num1,int num2){    return num2 ? Add(num1^num2, (num1&num2)<<1) : num1;}
原创粉丝点击