`
xitonga
  • 浏览: 585083 次
文章分类
社区版块
存档分类
最新评论

不用加减乘除做加法

 
阅读更多
/****************************************************************
题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/
四则运算符号。
****************************************************************/
//对数字做运算,除了四则运算,就只剩下位运算
#include <stdio.h>

int Add(int num1, int num2)
{
    int sum, carry;
    do
    {
        sum = num1 ^ num2;
        carry = (num1 & num2) << 1;

        num1 = sum;
        num2 = carry;
    }
    while(num2 != 0);

    return num1;
}

// ====================测试代码====================
void Test(int num1, int num2, int expected)
{
    int result = Add(num1, num2);
    if(result == expected)
        printf("%d + %d is %d. Passed\n", num1, num2, result);
    else
        printf("%d + %d is %d. Failed\n", num1, num2, result);
}

int main()
{
    Test(1, 2, 3);
    Test(111, 899, 1010);

    Test(-1, 2, 1);
    Test(1, -2, -1);

    Test(3, 0, 3);
    Test(0, -4, -4);

    Test(-2, -8, -10);
}

分享到:
评论

相关推荐

    不用加减乘除做加法.md

    不用加减乘除做加法.md

    wind0926#JAVA2020#面试题65. 不用加减乘除做加法1

    面试题65. 不用加减乘除做加法题目链接面试题65. 不用加减乘除做加法题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。题

    不用加减乘除做加法1

    不用加减乘除做加法写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。示例:输入: a = 1, b = 1输出:

    js代码-200601-不用加减乘除做加法

    js代码-200601-不用加减乘除做加法

    SkipTheChat#StudyNotes#48不用加减乘除做加法1

    (1)101^111,得到010 (2)计算进位值,101&111得到101 (3)重复上述两步:

    Python《剑指offer》算法实现-不用加减乘除做加法

    不要急于写代码,了解清楚所要解决的问题,多和面试官沟通,然后开始做一些整体的设计和规划。不要急于提交,自己测试几个用例避免错误。 4. 良好的代码风格。命名规则,缩进对齐习惯。能够单元测试用例。 5. 项目介绍...

    Python《剑指offer》-实现算法不用加减乘除做加法

    不要急于写代码,了解清楚所要解决的问题,多和面试官沟通,然后开始做一些整体的设计和规划。不要急于提交,自己测试几个用例避免错误。 4. 良好的代码风格。命名规则,缩进对齐习惯。能够单元测试用例。 5. 项目介绍...

    MachineLP#CodeFun#SMOffer048--不用加减乘除做加法1

    解题思路不能采用四则运算,就换成计算机中最常见的位运算首先各位相加不进位,二进制相加的结果与异或是一致的其次做进位,只有1+1会产生进位,与运算,之后再将结果左

    zhuxiangpeng#ZXBlog#剑指Offer - 48 - 不用加减乘除做加法1

    1、一开始的值: 2、上面两个异或和&的值: 3、上面两个异或和&的值: 4、上面两个异或和&的值: 5、上面两个异或和&的值: 6、上

    java基础面试题不用加减乘除法做加法

    java基础面试题不用加减乘除法做加法本资源系百度网盘分享地址

    python加减乘除(加法篇)

    python加减乘除(加法篇,双行输入) print(int(input())+int(input())) 简单吗? 下篇python加减乘除(加法篇,单行输入)

    输入字符串实现加减乘除四则运算(java)

    将近250行的算法 实现了通过字符串进行加减乘除四则运算 纯通过处理字符串和数组实现 希望能帮助大家: 例如:String input &quot;33+26 77+70&quot;; String result &quot;&quot;; try { result Account...

    JAVA泛型加减乘除

    这是一个使用JAVA实现的泛型编程,分为两部分,第一部分创建泛型类,并实例化...第二部分用户自行输入0--4,选择要进行的加减乘除运算或退出,再输入要进行运算的两个数,并返回运算结果及结果类型。 代码完美运行。

    加减乘除法练习题生成软件v2.0绿色免费版

    加减乘除法练习题生成软件是一款十分不错的软件,加减乘除法练习题生成软件官方版可以生成加法,减法,乘法,除法,能够有效的提高小学生的加减乘除算术能力,使用起来简单方便,欢迎下载 软件介绍   加减乘除法...

    小学生加减乘除

    免费软件系统要求:Windows9X/ME/2K 文件长度:406KB 试用限制:无目前版本:2.0...该软件可作为小学生学习加减乘除法时 的相关内容 ·幼儿膳食中的加减乘除法

    dsp汇编程序实现加减乘除

    dsp实现加减乘除,掌握基本算术运算指令及程序设计方法,熟悉程序的控制与转移和重复操作指令及程序设计方法。

    加减乘除精确算法

    精确的加减乘除,这个类里提供了精确的加法和减法,乘法和除法 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 确的浮点数运算,包括加减乘除和四舍五入。

    c++ 分数的加减乘除运算

    c++ 分数的加减乘除运算,没有精度减少的,运算之后仍然是分式,包括运算符的重载和一个流输出的重载

    为面试做准备的python经典编程题之4

    在排序数组中查找数字.py 二叉搜索树的第k大节点.py 二叉树的深度.py 数组中数字出现的次数.py 和为s的数字.py ...不用加减乘除做加法.py 构建乘积数组.py 把字符串转换成整数.py 树中两个节点的最低公共祖先.py

Global site tag (gtag.js) - Google Analytics