我有以下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。
答案 0 :(得分:10)
你几乎就在那里:你需要做的就是在OR
之前将各个字节转移到位置。
int test2 = (value1 << 24) | (value2 << 16) | (value3 << 8) | value4;
不要忘记为68
0xFF686868
十六进制
int value2 = 0x68; // Add 0x to all three of the 68s