标签: c++ bitwise-operators bit-shift
无法理解此位移的行为:
int container = 1; cout<<(container>>32)<<endl;
如果它是逻辑移位,则输出应为0,但它是1,而不是循环移位。在查看反汇编时,我看到使用的命令是SAR。请向我解释这种行为。
答案 0 :(得分:1)
您将32位数字移动了32,这导致了未定义的行为,结果为1是巧合。