((0xFF & rekenOmNaarTijdArray[1]) << 16) 4个字节转32位整数

问题描述 投票:1回答:2

我试图理解下面这段代码。

int omgezetteTijd =
((0xFF & rekenOmNaarTijdArray[0]) << 24) | ((0xFF & rekenOmNaarTijdArray[1]) << 16) |((0xFF & rekenOmNaarTijdArray[2]) << 8) | (0xFF & rekenOmNaarTijdArray[3]);

我不明白的是为什么你要用OxFF AND它, 你用8位的值ANDING一个8位的值,就像这样(111111111), 所以这应该给你同样的结果.

但是,当我没有用OxFF AND它时,我得到的是负值?不知道为什么会这样?

java integer byte unsigned signed
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.