# Bitarray in JAVA?



## Guest (18. Aug 2004)

Hi, ich möchte ein bit-sequenz effizient in java darstellen. Sie soll dann öfters geschiftet werden. Wie mache ich das in Java? Einen Datentyp bitarray o.ä. gibt es ja offensichtlich nicht.

Muss ich die Zeichenfolge in eine Dezimalzahl wandeln?(wie), dann shiften und dann zurückwandeln (wie?).

Eigentlich ein einfaches Problem, ich habe aber irgendwie nirgends in meiner Literatur eine Lösung gefunden(oder nur unter den falschen Stichworten gesucht   )

Danke für die Hilfe,

PETER


----------



## bygones (18. Aug 2004)

entweder du nimmst einfach ints oder longs oder du schaust dir die Klasse BitSet mal an


----------



## hpb (18. Aug 2004)

angenommen, ich habe die bitsequenz 101, wie wandele ich sie in 5 (im dez. System) um? Das muss ich doch bestimmt nicht von Hand machen, oder?
Dann will ich shiften (kein Problem) und hinterher wirder direkt die einzelnen bits auslesen können
5<<1 =10 -->
101<<1=1010 --> jetzt will ich über einen index auf  die einzelnen bits zugreifen können. Das ganze soll eine Art Vektor sein, der binäre Infos enthält.

Danke,

PETER


----------



## hpb (18. Aug 2004)

oder wie kann ich ein BitSet shifen?
BitSet b=new BitSet(); 
b=b<<1; //error


----------



## bygones (18. Aug 2004)

du kannst mit einem BitSet nicht direkt shiften....
alles was du mit BitSet machen kannst findest du hier: http://java.sun.com/j2se/1.4.2/docs/api/java/util/BitSet.html


----------



## hpb (18. Aug 2004)

das hab ich auch gemerkt, aber wie stelle ich dann mein bitArray effizient dar(wenn ich wirklich shiften will und die einzelnen bits via index abfragen will.)


----------

