【问题标题】:What is the purpose of byteBuffer.get() & 0xFF?byteBuffer.get() & 0xFF 的目的是什么?
【发布时间】:2019-08-05 19:48:52
【问题描述】:

我找到了这个方法:

private static int getInt16(ByteBuffer input) {
    return ((input.get() & 0xFF) << 8) | (input.get() & 0xFF);
}

input.get() &amp; 0xFF 的目的是什么?不是和input.get()一样吗?

【问题讨论】:

  • 你从输入中得到两个数字,只取第一个字节并连接到一个两个字节的值

标签: java arrays byte


【解决方案1】:

这是从input 中提取字节(大小为8 位)并将它们组合成Int16s,这是该方法返回的内容。 &amp; 0xFF 确保字节没有被符号扩展(这可能是不必要的,但不会造成伤害)。

【讨论】:

  • 是的,我在想好像input.get() 返回无符号字节。Java 使用单字节。一点解释here.
猜你喜欢
  • 1970-01-01
  • 2016-05-24
  • 2014-11-08
  • 2013-08-15
  • 2010-09-16
  • 1970-01-01
  • 2021-11-25
  • 1970-01-01
  • 2015-04-28
相关资源
最近更新 更多