在C99中向右移“ >>”(重复)。

|                                                                                                                   这个问题已经在这里有了答案:                                                      
已邀请:
将32位整数移位32位是未定义的行为。结果不可预测。 在C和C ++中,如果整数有
N
位,则只允许移位少于
N
位。如果您将“ 0”移至更多位置,则行为是不确定的。 实际上,当对32位整数进行移位时,某些平台会将移位计数简单地解释为5位值(丢弃小数点后5位以上的任何位),这意味着
32
的解释方式与as4ѭ相同。这显然是在您的平台上发生的事情。该值完全不移位。     

要回复问题请先登录注册