48は、加算、減算、乗算、除算をしません

タイトル説明

書き込み機能、および2つの整数の和、機能がインビボで使用されなくてもよい+が必要、 - 、*、/四則記号。

アイデア解析

直接の思考ビットコンピューティング。・ビット(0と1とは異なる)^計算加算器に対応し、計算されたフィード(1&1 = 1)に対応します。キャリーが1の場合、サイクルは(これはバイナリ1 *に理解されている、本明細書に、左運ぶ必要が)継続し、キャリーが0の場合、最終的な結果です。
例えば10進数の例では。5 + 7 => 2は、キャリーは0であり、9ビットとして計算>ビットバイナリ値1 * 4 = + 10.5に対して計算されます。

コードの実装

public static int Add(int num1, int num2) {
    int res = 0, carry = 0;
    do {
        res = num1 ^ num2;
        carry = (num1 & num2)<<1;
        num1 = res;
        num2 = carry;
    }while (carry != 0);
    return res;
}
公開された117元の記事 ウォンの賞賛8 ビュー3705

おすすめ

転載: blog.csdn.net/qq_34761012/article/details/104515369