嘿,我试图运行下面的代码块,它实际上使用负移位值右移了负整数值。类似(negative integer)>>(negative shift value)
。在负整数上负移位值的右移
但有趣的是,发现的是什么是什么,无论移位的值是多少&整数的值每次产生的结果为-1
。 PLZ解释为什么答案总是-1
。
实施例:
-8>>-9
Result: -1
-10>>-8
Result: -1
-8>>-2
Result: -1
这个问题实际上是约负位移值上负整数的整数值是如何工作的右移位使用>>和不是简单的二进制右移位。
行为阅读本 http://geekexplains.blogspot.co.il/2009/05/binary-rep -of-negative-numbers-in-java.html – GuyKhmel
@GuyKhmel感谢您的URL。但我真正想知道的是,正确的转变与负转变价值实际上是什么? – Prometheus
@Prometheus我发现的另一篇文章是这样的:http://www.informit.com/articles/article.aspx?p=30868&seqNum=6 查看最后一个例子 – GuyKhmel