【发布时间】:2015-03-21 18:46:00
【问题描述】:
我试图理解以下代码:
int omgezetteTijd =
((0xFF & rekenOmNaarTijdArray[0]) << 24) | ((0xFF & rekenOmNaarTijdArray[1]) << 16) |((0xFF & rekenOmNaarTijdArray[2]) << 8) | (0xFF & rekenOmNaarTijdArray[3]);
我不明白的是,你为什么要与 OxFF 进行 AND 运算,你将一个 8 位的值与 8 位(11111111)进行与运算,所以这应该会给你相同的结果。
但是,当我不使用 OxFF 进行 AND 时,我得到的是负值?不知道为什么会这样?
【问题讨论】:
-
你为什么要重复
ByteBuffer可以为你做的工作? -
因为我想了解不同的数据类型并知道如何使用它们:)
标签: java integer byte unsigned signed