逻辑运算实现加减法

来源:互联网 发布:控制面板windows功能 编辑:程序博客网 时间:2024/06/06 21:40

一、加法

function add($x, $y){    $sum = $x;    while($y != 0){        $sum = $x ^ $y; //不考虑进位相加        $y = ($x & $y) << 1; //将y视为进位        $x = $sum;    }    return $sum;}

二、减法

a - b = a + ~b + 1 两数相减等于被减数加上减数的补码,补码=该数取反加一

function sub($a, $b){    return add($a, add(~b, 1));}
0 0