【发布时间】:2014-03-01 22:04:58
【问题描述】:
这是一个模拟考试的问题:
编写一个将参数乘以 10 的函数。您只能使用以下运算符:
函数原型为:
无符号整数(无符号整数 x);
我们得到了一个解决方案,那就是:
unsigned int(unsigned int x) {
return (x << 4) - (x << 2) - (x << 1);
}
我知道它有效,并且它通过从整数中减去十的倍数来实现。我不明白它为什么起作用,并想了解如何得出这个答案的过程。
提前感谢您的任何回答!
【问题讨论】:
标签: c bitwise-operators