2012-06-14 1 views

ответ

1

Вместо этого вы должны использовать массив байтов.

1

В стандартном Java SE API реализована реализация BitSet, вы должны попробовать ее использовать.

1

Если вы хотите использовать двоичное представление чисел, чтобы создать BitSet, это может быть сделано в два этапа:

  • Используйте BigInteger конструктор, который принимает строку и основание в качестве аргументов. Для двоичного основания 2.

  • Инициализировать BitSet из представления массива байт в BigInteger по телефону BigInteger.toByteArray() с BitSet.valueOf().

например.

BigInteger a = new BigInteger("10101", 2); //base 2 for binary 
BitSet aBits = BitSet.valueOf(a.toByteArray()); 

BitSet.valueOf() нового в Java 7, так не будет работать в более ранних версиях Java.

Edit:

Если вам не нравится инициализации BigInteger со строками и ваших двоичных чисел вписываться в 64 бит, вы также можете использовать Java 7-х binary literals и инициализировать BigInteger используя BigInteger.valueOf(long) метод.

+0

метод u, указанный выше, будет работать для 10101, но это всего лишь 1 номер. У меня около 100 таких чисел, как я могу с ними справиться? – Saurabh

+0

^мм. Я думаю, петли будут работать. –

Смежные вопросы