Java RBG 24位到RGB 8位移位

Java RBG 24位到RGB 8位移位,java,encoding,bit-shift,8-bit,Java,Encoding,Bit Shift,8 Bit,如何在java中使用位移位将3个数字存储在一个字节中,即前3位用于R,后3位用于G,最后2位用于B。我想我知道如何从字节中检索数字,不过,一个编码和解码的示例将非常好 谢谢你,杰克 编辑: R和G的值范围为0-7,B的值范围为0-3。给定R,G和B的值范围为0-255: rgb = (b >>> 6) << 6 | (g >>> 5) << 3 | (r >>> 5); i、 我认为当你说“第一”时,你的意思是最不

如何在java中使用位移位将3个数字存储在一个字节中,即前3位用于R,后3位用于G,最后2位用于B。我想我知道如何从字节中检索数字,不过,一个编码和解码的示例将非常好

谢谢你,杰克

编辑:


R和G的值范围为0-7,B的值范围为0-3。

给定
R
G
B
的值范围为0-255:

rgb = (b >>> 6) << 6 | (g >>> 5) << 3 | (r >>> 5); 
i、 我认为当你说“第一”时,你的意思是最不重要的。如果你想让他们从另一个角度来看,那就是:

rgb = (b >>> 6) | (g >>> 5) << 2 | (r >>> 5) << 5; 

rgb=(b>>>6)|(g>>5)>>5)你会说“哇,这把EGA从水里吹了出来!”你确定吗?帕迪:你认为今天有人问这样的问题会知道EGA是什么样子吗?我不这么认为。历史重演。。。
rgb = (b >>> 6) | (g >>> 5) << 2 | (r >>> 5) << 5;