Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.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_Bit Manipulation - Fatal编程技术网

Java 如何将字节数据转换为位,然后再转换回字节?

Java 如何将字节数据转换为位,然后再转换回字节?,java,bit-manipulation,Java,Bit Manipulation,1字节=8位。 我必须在120位上工作。所以是15字节。 这120位的格式为0000101000000。。。。。。。。。。。。 所以0000101的每8位是1个字节。 所以我想对它做一些修改,然后把所有的字节加起来。字节是否存储在字节数组中?字节数组是个好主意。但是如何存储它们取决于您。将流拆分为8位块,并为每个块使用Byte.valueOf(String,int)。如果有大量位,则可以使用位集。您可以使用byte[]或long[]这并不重要,因为它们最终都是由位组成的。使用字节[]不会使对象比

1字节=8位。 我必须在120位上工作。所以是15字节。 这120位的格式为0000101000000。。。。。。。。。。。。 所以0000101的每8位是1个字节。
所以我想对它做一些修改,然后把所有的字节加起来。字节是否存储在字节数组中?

字节数组是个好主意。但是如何存储它们取决于您。

将流拆分为8位块,并为每个块使用Byte.valueOf(String,int)。

如果有大量位,则可以使用位集。您可以使用byte[]或long[]这并不重要,因为它们最终都是由位组成的。使用字节[]不会使对象比长[]小,因为大多数JVM对对象使用8字节边界。长[]对于某些操作更有效。

如何存储字节取决于您。 您可以使用诸如&和|之类的位操作修改字节。 例如:

x |=2;
+1因为当您有一组位时,使用
位集
是直接匹配 x |= 2;