不用加减乘除实现加法

it2022-05-05  154

思路:使用位运算,异或得到中间结果,与得到进位。

public int Add(int num1,int num2) { //变量定义 int num1Tmp=num1,num2Tmp=num2; //存放中间结果,若没有进位,中间结果就是最终结果 int valueAfterXOR=num1Tmp ^ num2Tmp; //存放进位 int valueAfterAND=(num1Tmp & num2Tmp) << 1; while(valueAfterAND!=0){ num1Tmp=valueAfterXOR; num2Tmp=valueAfterAND; valueAfterXOR=num1Tmp ^ num2Tmp; valueAfterAND=(num1Tmp & num2Tmp) << 1; } return valueAfterXOR; }

 


最新回复(0)