【发布时间】:2013-06-07 05:29:06
【问题描述】:
为什么右移有两种选择——附加符号位(算术右移)或附加 0(逻辑右移),为什么实现要选择哪个?
【问题讨论】:
-
是的。我能够做到这一点。那么为什么右移需要附加符号位呢?
-
左移已经是算术;这与乘以 2 的幂相同。用符号位填充最低有效位是没有意义的。
-
是的。请帮助我理解右移
-
为什么人们不赞成这个问题?请添加评论?我认为这是一个显而易见的问题。它是从某个地方重复的吗?
-
为什么这个标签是“C”?在 C 中你没有那个选择。Java 有
>>and>>>可以让你区分这两种移位,但 C 没有。
标签: c bit-manipulation bit-shift