VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • 如何使用位运算实现一个加法呢?

今天面试遇到这样一个奇葩的要求,使用位运算实现一个加法,那么如何实现呢?

 

今天收到小伙伴的信息,
面试官讲一个题目:“编写一个加法函数,函数中不能使用四则运算符号,需使用位运算”
实现一个加法的功能,具体的实现思路如下所示:

实现思路:
借助异或运算的特性----无进位加法
借助与运算---相同为1
--------首先将两个异或运算,得到无进位的值
--------然后借助与运算的结果(向右移动一位--进位)
使用递归循环运行以上的步骤,直到与运算的结果为0(无进位),则停止

例:
 

复制代码
package com.java265.other;
public class Test10 {
public static void main(String[] args) {
System.out.println(add(10, 20));
}
/*
* java265.com 使用位运算实现一个加法

*/
private static int add(int a,int b)
{
int r1 =0;
int r2 =0;
do {
r1 = a ^b;
r2 = (a&b)<<1;
a = r1;
b = r2;
} while (r2 != 0);
return r1;
}
}
------运行以上代码,将输出以下信息----
30
复制代码

转自:http://www.java265.com/JavaMianJing/202112/16391886662074.html


相关教程