本文介绍了没有算术运算符的C中的乘法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以使用使用C的算术运算符将两个数字相乘?使用左移位运算符,我只能将任何数字乘以2.其他数字怎么样?

Is it possible to multiply two numbers with out using arithmetic operators using C? Using the left shift operator, I can multiply any number by 2 only. How about other numbers?

推荐答案

void main()
{
  int n1, n2, n3, n4, x, y, i;
  printf("Enter first number");
  scanf("%d", &n1);
  printf("Enter second number");
  scanf("%d", &n2);
  n3 = n2;
  n4 = n2;
  n1-=1;
  for(i = n1;i > 0;i-=1)
  {
    do {
      x = n2 & n3;
      y= n2 ^ n3;
      n2 = x << 1;
      n3 = y;
    } while (x);
    n2 = y;
    n3 = n4;
  }
  printf("product of two number is %d", y);
  getch();
}

这篇关于没有算术运算符的C中的乘法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-12 11:35