gpt4 book ai didi

c - 移动比变量更多的位是 c 中未定义的操作吗?

转载 作者:太空宇宙 更新时间:2023-11-04 00:31:31 26 4
gpt4 key购买 nike

具体来说我是这样做的

Word32 x = 18653184;
Word32 y;
Word16 shift = 269;
y = x >> shift;

我希望这种逻辑移位的结果是 0,但我得到的却是 2277。C 如何定义这种类型的操作?

最佳答案

是的,根据第 6.5.7 节第 3 段,这是未定义的行为

... If the value of the right operand is negative or is greater than or equal to the width of the promoted left operand, the behavior is undefined.

关于c - 移动比变量更多的位是 c 中未定义的操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13707451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com