當前位置:編程學習大全網 - 編程軟體 - 如何用位運算實現整數的加減法

如何用位運算實現整數的加減法

如何用位運算實現整數的加減法

位運算的思想可以應用到很多地方,這裏簡單的總結壹下用位運算來實現整數的四則運算。

1.整數加法

[cpp] view plain copy 在CODE上查看代碼片派生到我的代碼片

int Add(int a,int b)

{

for(int i = 1; i; i <<= 1)

if(b & i)

for(int j = i; j; j <<= 1)

if(a & j) a &= ~j;

else {a |= j; break;}

return a ;

}

我的思路主要是利用a+1的位運算就是最左端(從第0位開始向左)連續的1變為0,原先a中為0的位置最低那壹位變為1。

在不同的位上加1,那就是從相應的位開始向左計算,右邊不變。

下面還有壹個網上的思路,我覺得這個更好:

[cpp] view plain copy 在CODE上查看代碼片派生到我的代碼片

int Add(int a,int b)

{

if(b == 0) return a;//沒有進位的時候完成運算

int sum,carry;

sum = a ^ b;//完成第壹步沒有進位的加法運算

carry=(a & b) << 1;//完成第二步進位並且左移運算

return Add(sum,carry);//進行遞歸,相加

}

  • 上一篇:精靈在地牢繁殖的黃油叫什麽
  • 下一篇:數控專業在哪個城市發展比較好?
  • copyright 2024編程學習大全網