65顔の質問オファー安全性を証明する必要はありませんん、加算と減算、乗算、除算 - ビット・コンピューティング

/ * 
タイトル:
    アドオンを使用せずに、減算、および2つの整数を計算します。
アイデア:
    あなたが追加を使用することはできません、減算は、専用ビット・コンピューティングを検討することができます。
    X = NUM1 ^ NUM2、ビットに結果を消去するために比較。
	Y = NUM1&NUM2、キャリーの唯一の結果です。
	(Y << 1)およびX、キャリーが発生しなくなるまで。
* / 
の#include <iostreamの> 
する#include <CStringの> 
する#include <ベクトル> 
の#include <アルゴリズム> 
の#include <地図> 

名前空間STDを使用して、

int型の追加(int型NUM1、INT NUM2)
{ 
    int型X ^ = NUM1 NUM2; 
    INT Y &NUM1 NUM2 =; 
    一方(Y!= 0){ 
        int型のTEMP = X ^(Y << 1); 
        YおよびX =(Y << 1。); 
        X = TEMP; 
    } 
    戻りX; 
} 
int型のmain(){ 
   coutの<<追加(5、17)。
}

   

おすすめ

転載: www.cnblogs.com/buaaZhhx/p/12141662.html