关于位运算的一个题目,高手请进
给出一个整数,编写一个程序将这个整数的9倍求出来,前提:不能用加减乘除法。这是一所公司的笔试题,求高手赐教!
程序代码:#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;
}










