【发布时间】:2011-02-02 14:48:52
【问题描述】:
如果移位运算符后面的值 大于中的位数 左边的操作数,结果是 不明确的。如果左边的操作数是 无符号,右移是一个逻辑 移位所以高位将被填充 用零。如果左边的操作数 已签名,右移可能或可能 不是一个逻辑转变(也就是说, 行为未定义)。
谁能解释一下上面几行是什么意思?
【问题讨论】:
-
有道理,有没有你不熟悉的具体技术术语?换句话说,我们如何回答这个问题而不只是解释上面的引用,这可能对你有帮助,也可能没有帮助。
-
另外,你从哪里得到的文本?这不是 ISO/IEC 14882:1998(E) 的 5.8,我可以告诉你这么多。
-
投票结束。文本未出处,不适用于 C++。
-
@David:好像是来自Thinking in C++: linuxtopia.org/online_books/programming_books/thinking_in_c++/…
-
@David:Google 告诉我它来自 Bruce Eckel 的 Thinking in C++。如果你把你的书放到网上,而不用更正注释,你基本上就是鱼在桶里;-)