关于位运算的一个题目,高手请进
给出一个整数,编写一个程序将这个整数的9倍求出来,前提:不能用加减乘除法。这是一所公司的笔试题,求高手赐教!
2012-10-22 17:35
程序代码:#include<stdio.h>
int X9(int n)
{
int a, f;
for(a = n << 3; f = a & n; a ^= n, n = f << 1);
return a ^ n;
}
int main()
{
int n;
scanf("%d", &n);
printf("%d * 9 = %d\n", n, X9(n));
return 0;
}

2012-10-22 18:35
2012-10-22 18:55
2012-10-22 19:31
2012-10-22 20:28
2012-10-23 00:10

2012-10-23 10:34
2012-10-23 10:43
2012-10-23 11:12
2012-10-23 11:31