4

ARGB を表す次の 4 つの整数値があります。

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それらを一緒にする前に個々のバイトを所定の位置にシフトすることだけです.

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

68目的の出力のために s hexを作成することを忘れないでください0xFF686868

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