给出的字节数组:获取指数阵列
{255, 3, 5}
这相当于:
{11111111, 00000011, 00000101}
我希望得到以下结果:
{23,22,21,20,19,18,17,16, 9,8, 2,0}
这是输入数组中1的索引数组。
在Java中这样做的最快方式是什么?
更新: 我选择了最快的解决方案,@ aioobe的。这里有一个相当大的数据测试的测试结果:
@ aioobe的方式:
35s 289ms
35s 991ms
36s 174ms
@马亭的方式:
39s 274ms
39s 879ms
38s 684ms
谢谢大家!我感谢您的帮助。
数组可以是任意长度,还是总是3个字节长? – aioobe 2012-02-25 13:27:34
它的长度是任意的。最大索引可以由(numOfBytes * 8) - 1指定。谢谢。 – Motasim 2012-02-25 13:29:19