邏輯運算實現加減法

一、加法

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));
}
發佈了31 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章