不使用+、-、*、/完成两个整数的相加
来源:互联网 发布:武汉光谷相关数据 编辑:程序博客网 时间:2024/05/21 22:44
第一步:两个整数相异或,得到的是相加的位,如5-101与7-111,异或得到010,十进制是2,相当于个位的数值;
第二部:两个整数相与,再左移一位,得到的是进位,101&111 = 101,左移一位是1010,相当于十进制的10;
第三部:进位不为0,则重复上述操作。
public class Solution { public int Add(int num1,int num2) { while(num2 != 0){ int tmp = num1^num2; num2 = (num1&num2)<<1; num1 = tmp; } return num1; }}
阅读全文
0 0
- 不使用+、-、*、/完成两个整数的相加
- 不使用加号,完成整数的相加
- 使用与或运算完成两个整数的相加
- 不使用第三个变量完成两个整数的交换
- 不使用第三个变量完成两个整数的交换
- 无限大的两个整数相加
- 两个大的整数相加
- c语言中如何不使用加号,完成两个数字相加
- c语言不使用加号实现两个数的相加
- 用单链表实现两个大型整数的相加
- 不用+ - * / 实现两个整数的相加
- 两个超级长的整数相加减
- 两个超大整数相加
- 任意两个整数相加
- 两个巨大整数相加
- 两个大整数相加
- 两个整数字符串相加
- 两个超大整数相加
- 加密、解密详解及CA的实现
- 【网络编程】非阻塞connect详解
- Python大文件解析的效率问题
- Android adb 常用命令
- Python 学习之namedtuple的使用
- 不使用+、-、*、/完成两个整数的相加
- 快速排序
- MFC之如何弹出模态窗口
- VSLAM分类
- HDU2093 考试排名(排序)
- Idea数据库操作(Full Join)
- ns3之PCAP tracing文件命名格式
- 全面总结Java的GC算法和回收机制
- Java单例模式实现方式