4

我有以下 4 个代表 ARGB 的整数值:

int value1 = 0xFF;
int value2 = 68;
int value3 = 68;
int value4 = 68;

我想连接这些值,以便它们表示以下内容:

int test = 0xFF686868;

我目前的方法是使用:

int test2 = 0xFF | value1 | value2 | value3;

但是使用这种方法 test1 和 test2 的整数值不匹配,我做错了什么?我仅限于 J2ME。

4

1 回答 1

10

您快到了:您需要做的就是将各个字节移动到位,然后OR再将它们 -ing 在一起。

int test2 = (value1 << 24) | (value2 << 16) | (value3 << 8) | value4;

不要忘记68为所需的输出制作你的 s 十六进制0xFF686868

int value2 = 0x68; // Add 0x to all three of the 68s
于 2013-02-12T11:05:14.020 回答