博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
写一个方法,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。...
阅读量:7070 次
发布时间:2019-06-28

本文共 521 字,大约阅读时间需要 1 分钟。

思路:

1.两个数异或:相当于每一位相加,而不考虑进位;

2.两个数相与,并左移一位:相当于求得进位;
3.将上述两步的结果相加;

参考代码:

public static int Add(int num1,int num2) {        while (num2!=0) {            int temp = num1^num2;//异或相当于加,但不考虑进位            num2 = (num1&num2)<<1;//按位与再左移一位用来计算进位            num1 = temp;        }        return num1;    }        //递归版本    public static int Add2(int num1,int num2) {        if(num2==0){            return num1;        }else{            return Add(num1^num2,(num1&num2)<<1);        }    }

转载于:https://blog.51cto.com/14233363/2406293

你可能感兴趣的文章
C語言最新標準-C11 「轉」
查看>>
SaltStack数据系统-Grains详解
查看>>
课程第三天内容《基础交换 三 》
查看>>
Spring(八):缓存
查看>>
全局函数指针作为模板参数
查看>>
URL access forbidden for unknown reason svn: acces
查看>>
kafka基本命令启动和测试
查看>>
你真的已经搞懂JavaScript了吗?
查看>>
Merge into 详细介绍
查看>>
apk签名
查看>>
java 获取图片尺寸及大小
查看>>
Web图表开发工具JFreeChart与ChartDirector使用评测
查看>>
交互设计的KISS原则
查看>>
Cat 部署
查看>>
个性化PS1变量
查看>>
IOS之UIWebView的使用
查看>>
分布式系统事务一致性解决方案
查看>>
ubuntu下nvm,node以及npm的安装与使用
查看>>
BD09坐标(百度坐标) WGS84(GPS坐标) GCJ02(国测局坐标) 的相互转换
查看>>
BaseAdapter封装
查看>>