首页 > 代码库 > 计算机里加法的实现
计算机里加法的实现
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; } }
计算机里加法的实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。