美文网首页
剑指offer65 不用+-*/计算和

剑指offer65 不用+-*/计算和

作者: 再凌 | 来源:发表于2020-05-07 12:39 被阅读0次

写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。

位运算的知识点:

a^b -> 得到计算后的低位信息, 丢失进位信息
(unsigned) (a&b) << 1 -> 得到计算后每一位的进位信息, 通过左移之后, 交给高位

int add(int a, int b){
    int temp;
    while(a != 0)
    {
        //temp保存每一位加法后的低位信息
        temp = a ^ b;
        //a保存的是进位信息, 进位信息0或者1不代表正负, 因此用unsigned
        a = (unsigned) (a & b) << 1;
        b = temp;
    }
    return b;
}


时间复杂度: 1
空间复杂度: 1

相关文章

  • 剑指offer65 不用+-*/计算和

    写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。 位运算的知识点...

  • 面试 20:计算连续子数组的最大和(剑指 Offer 31 题)

    面试 20:计算连续子数组的最大和(剑指 Offer 31 题) 我们上一次推文留下的题目来源于《剑指 Offer...

  • 2017-11-05

    周一学习(拨“ 正剑”成功,拨“邪剑”灭亡)所谓邪剑是指“邪恶的欲望”。是打着小算盘只计算个人得失,获取自身利...

  • 剑指

    遥望中原九点烟,风云直上七重天。 今朝再向江湖去,一剑流星谁比肩? 2011.10(1488)

  • 剑指

    1. 二维数组中查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照...

  • 剑指offer | 计算1+2+...+n

    计算1+2+...+n 计算等差数列前n项和 示例输入:10输出:55

  • 剑指offer 66 计算数组乘积

    给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B 中的元素 B[i]=A...

  • 剑指 Offer II 111. 计算除法

    dfs

  • 全网最全剑指offer题目解答

    【剑指offer】Java版代码(完整版) 【剑指offer】1-10题 【剑指offer】11-20题 【剑指o...

  • 手中剑

    手上没有剑和有剑不用不是一回事。

网友评论

      本文标题:剑指offer65 不用+-*/计算和

      本文链接:https://www.haomeiwen.com/subject/panoghtx.html