剑指 Offer 65. 不用加减乘除做加法(位运算)
作者:互联网
剑指 Offer 65. 不用加减乘除做加法
写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。
示例:
输入: a = 1, b = 1 输出: 2
提示:
a
,b
均可能是负数或 0- 结果不会溢出 32 位整数
1 class Solution { 2 public: 3 int add(int a, int b) { 4 // 当进位为0时退出循环 5 while (b != 0) { 6 int carry = static_cast<unsigned int>(a & b) << 1; // 有进位和 7 int n = a ^ b; // 无进位和 8 a = n; 9 b = carry; 10 } 11 return a; 12 } 13 };
标签:Offer,int,整数,65,加法,加减乘除 来源: https://www.cnblogs.com/MGFangel/p/16367888.html