Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将整数值串联为字节的Java_Java_Java Me_Argb - Fatal编程技术网

将整数值串联为字节的Java

将整数值串联为字节的Java,java,java-me,argb,Java,Java Me,Argb,我有以下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个表示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。

你几乎做到了:你所需要做的就是在
或将它们组合在一起之前将单个字节移位到适当的位置

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

你能解释一下为什么我必须移动字节吗?另外,如何将68转换为0x68?Thanks@S-K'将向左移动视为向右添加零。在十六进制表示法中,移位4等于在末尾加一个零。移位24加6个零,移位16-4个零,移位8-2个零。由于
ing为零产生原始数字,因此移位和
ing字节可以构造一个四字节的数字。
int value2 = 0x68; // Add 0x to all three of the 68s