位操作相關算法

異或法:可以完成對整型變量的交換。
交換a, b的值:
a = a^b;
b = a^b;
a = a^b;

不使用±運算符計算a + b的值
遞歸法:
function add(a, b) {
let tmp = a ^ b;
let tmp1 = (a & b) << 1;
if(tmp1 == 0) {
return tmp;
}else {
return test_add(tmp, tmp1);
}
}

非遞歸法
function add(a, b) {
let tmp = 0;
while(b > 0) {
tmp = a ^ b;
b = (a & b) << 1;
a = tmp;
};

return tmp;

}

END

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章