大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > Java技巧 > 不用加减乘除做加法

不用加减乘除做加法

关键词:加减乘除不用加减乘除做加法  阅读(585) 赞(12)

[摘要]本文主要是对不用加减乘除做加法的讲解,希望对大家学习不用加减乘除做加法有所帮助。

  题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/

  四则运算符号。

  ****************************************************************/

  //对数字做运算,除了四则运算,就只剩下位运算

  #include

  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);

  }



相关评论