在进行位操作时,我有时会觉得这很不方便(虽然我现在不记得任何具体的例子).我也发现它在概念上令人困惑,因为移位基本上是乘法和除以2的幂.
我在C++中看到它很方便,当使用<<将输出发送到ostream时,但当然不能用于解释订单最初是如何在C中修复的.
我想知道以下C程序的输出是如何32的.请给我一步一步的指导.
main()
{
int a=4,b=2;
a=b<<a+b>>2;
printf("%d",a);
}
Run Code Online (Sandbox Code Playgroud)