首页 > 代码库 > 计算机里加法的实现

计算机里加法的实现

    static void Main(string[] args)        {            //目标:用位运算实现4+5的加法            //4 + 5 = 9            //4的二进制0000 0100            //5的二进制0000 0101            //1.先异或                  2.与操作(判断是否进位)            //0000 0100                 0000 0100            //0000 0101                 0000 0101            //---------                 ---------            //0000 0001                 0000 0100  (如果值不等于0表示有进位)            //                          ---------            //                          0000 1000   (有进位就左移)            //3.拿①和②的结果再异或    4.拿①和②的结果与操作(判断是否进位)            //0000 0001                 0000 0001            //0000 1000                 0000 1000            //---------                 ---------            //0000 1001                 0000 0000  (如果值等于0表示没有进位)            //最后的结果就是③的结果0000 1001,十进制就是9            //代码实现            int sum = add(4, 5);            Console.WriteLine("sum = {0}",sum);        }
//用位运算实现加法 static int add(int a, int b) { int tmp = a ^ b; int iAnd = a & b; bool isCarry = iAnd == 0; if (!isCarry) { //如果进位就左移 iAnd = iAnd << 1; return add(iAnd, tmp); //这里递归调用一下 } else { return tmp; } }

 

计算机里加法的实现