gpt4 book ai didi

Java二进制移位操作

转载 作者:行者123 更新时间:2023-11-29 05:56:23 24 4
gpt4 key购买 nike

我在 Internet 上发现了这个 java 问题,并且对此有一些疑问。

哪些陈述是准确的:

  • a) >> 执行有符号移位,而 >>> 执行无符号移位。
  • b) >>> 执行有符号移位,而 >> 执行无符号移位。
  • c) << 执行有符号移位,而 <<< 执行无符号移位。
  • d) <<< 执行有符号移位,而 << 执行无符号移位。

我有点不确定带符号的移位是什么,它是否意味着它保留二进制数的符号而不管移位本身发生了什么(这对我来说最有意义)或者它是否意味着MSB 不会改变,除非它在移位操作本身中被覆盖。

所以

  • a) 正确:无论您使用 >> 进行了多少次转换,MSB 始终保留为原始状态,因此已签名?而 >>> 将始终用 0 覆盖 MSB,因此无符号 ?
  • b) 错误,因为上面的解释
  • c) 不确定,因为第一位可能被 << 移位操作覆盖,因此不保留其符号?
  • d) 又不确定了。

最佳答案

另一个描述:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html

来自文章:“无符号右移运算符“>>>”将一个零移到最左边的位置,而“>>”之后的最左边位置取决于符号扩展。”

关于Java二进制移位操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11953868/

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