package com.wsy.sword;
public class Add
{
/*
* 不用加减乘除做加法
*
* 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
*
* 思路:
* 加减乘除的运算可以用位运算替代
*/
public int add(int num1,int num2) {
while(num2 != 0){
int sum = num1 ^ num2; //异或:两数相加,未进位
int carray = (num1 & num2) << 1; //相与后左移一位相当于进位
num1 = sum;
num2 = carray;
}
return num1;
}
public static void main(String[] args){
Add a = new Add();
System.out.println(a.add(5, 11));
}
}
不用加减乘除做加法
最新推荐文章于 2022-02-09 21:00:00 发布