不使用算术运算符将两个数相加的 Java 程序
这里,我们需要写一个函数,返回两个指定整数的和。并且该函数不能使用任何算术运算符,如++、++、–、-..等等。).这将是一个非常基本的初级程序,通过简单地使用‘+’运算符计算总和,从而简单地打印和显示结果。但是如果我们不约束不使用任何算术运算符,那么只有一种方法,那就是使用 异或运算符,它可以对两个给定的位执行加法运算。对于进位位、我们可以使用和 ( &)运算符。
使用位操作符完成。这里我们将主要使用以下三种操作:
- 逐位异或
- 逐位“与”
- 逐位左移运算符
首先,数字被转换成二进制格式。考虑整数数据类型的 8 个索引。现在进位由一个逐位左移操作符处理,二进制的其余部分在屏幕上显示为一个整数,表示上述两个整数之和。如下所示:
Input :1, 2
Output : 3
a = 1 : 00000001
b = 2 : 00000010
----------------
c = 3 : 00000011
实施:
例
Java 语言(一种计算机语言,尤用于创建网站)
// Java Program to find the Sum of Two Numbers
// Without Using any Arithmetic Operator
// Importing input output classes
import java.io.*;
// Main class
class GFG {
// Method to sum two integer elements
static int Sum(int a, int b)
{
// Iterating until there is no carry
while (b != 0) {
// Using AND operator
int carry = a & b;
// Using XOR operator
a = a ^ b;
// Shifting the carry by one so that
// adding it to the integer 'a'
// gives the desired output
b = carry << 1;
}
return a;
}
// Method 2
// Main driver method
public static void main(String arg[])
{
// Print the sum of custom integer numbers to be
// summed up passed as an argunts
System.out.println(Sum(2, 3));
}
}
Output
5
版权属于:月萌API www.moonapi.com,转载请注明出处