我正在尝试使用一个由1和0组成的长签名数组。我需要能够分配任何位在一个长,或读任何一点在一个长。我一直被卡住,因为我似乎不能读或写的符号位,而不混乱其余的位(由于两个的补码)。我可以使用一个布尔数组来表示1和0,但这占用了太多的内存。有没有人知道在很长一段时间里有一种单独的读写方式?或者,有人能提出一个超级记忆高效的替代方案吗?
发布于 2016-07-01 06:09:20
对于这个问题,BitSet是适当的库类。在内部,它是使用long实现的,如果需要,可以使用BigInteger。有关更多信息,请阅读javadoc。
在线java ide中的一些示例代码演示了BitSet的使用。
https://www.codiva.io/p/f6f0ee80-2ad3-4fb6-a197-aa1e549fba80
https://stackoverflow.com/questions/38137945
复制相似问题