1 <?php
 2     #不用加减乘除做加法
 3     #思路:使用位运算实现
 4     #先算出二者不进位的相加结果,xor实现
 5     #再算出二者的进位结果,位与和位移实现
 6     #最后把两个结果相加
 7 
 8     function cplus($num1, $num2) {
 9         if ($num2 == 0) {
10             return $num1;
11         }
12 
13         $sum = $num1 ^ $num2;
14         $carry = ($num1 & $num2) << 1;
15 
16         return cplus($sum, $carry);
17     }
18 
19     echo cplus(123, 4567);
20 ?>

4690

posted on 2012-10-01 17:31  ZimZz  阅读(513)  评论(0编辑  收藏  举报