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