您的位置:首页 > 其它

20150328晚,不使用乘号运算符实现两个整数乘法

2016-03-28 23:06 148 查看
//20150328晚,不使用乘号运算符实现两个数相乘
#include <stdio.h>
#include <stdlib.h>
#pragma warning(disable:4996)

//using namespace std;

int main()
{
int m, n, t;
long long ll, absn, absm;
while (scanf("%d %d", &m, &n) != EOF)
{
absn = n; absm = m; ll = 0; t = 0;
if (m < 0) absm = 0 - absm;
if (n < 0) absn = 0 - n;
for (int i = 1; i > 0; i <<= 1)
{
if (i&absn)
ll += absm << t;
t++;
}
if ((!(m < 0 && n < 0)) && (m < 0 || n < 0)) ll = 0 - ll;
printf("%lld\n", ll);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: