我有点转换问题,我有点挣扎。有点背景......处理一些计算生物学问题,因此需要快速地处理(处理大量数据集)。基本上我有以下SNP的位表示,我想写一些掩码/和/ XOR /等。操作这样我就可以迅速转换从一个表示到下一个:使用位操作操作符的位格式转换
00 - > 100
01 - > 010
11 - > 001
因此,例如,00010111应转换为100010010001 。我将这些位存储在一个相当大的java.util.BitSet中,并希望能够使用位运算符将它们转换为新格式。
任何帮助将非常欢迎!
您需要详细介绍转换的工作原理。模式匹配?流?我们需要更多信息。 – 2012-08-03 20:28:07
你有什么尝试?这些单词是否大于64位?如果是这样,我不确定你会对基于位操作的解决方案感到满意。你有没有试过[绳索](http://en.wikipedia.org/wiki/Rope_%28computer_science%29)? – 2012-08-03 20:31:43
那么现在我正在手动执行,就像在每两个位一样,并将三个位添加两个单独的BitSet。但是,这个过程相当缓慢。我一直在尝试修改该过程,以允许我一次对entier BitSet执行一些按位操作,这将生成新格式。 – 2012-08-03 20:32:27