Bits extrahieren

Status
Nicht offen für weitere Antworten.

PollerJava

Top Contributor
Hallo nochmal,


Hätte noch eine Frage zu zum exrahieren einzelner Bits aus einer Zahl,
Ich habe eine Zahl (die sich ständig ändert) z.B.: 341 -> das entwpricht binär: 101010101,

Ich möchte jetzt ein int[] bekommen wo drinnensteht {0,2,4,6,8} also das 0.,2.,4.,6. und 8. Bit ist "1",

Kann ich das mit BitSet einfach machen oder muss ich mir da selber ein Methode schreiben?

DankeSchön
 
I

ign0rant

Gast
Vielleicht so:
Code:
int[] getSetBits(BitSet bs) {
    List<Integer> list = new ArrayList<Integer>();
    for(int i=bs.nextSetBit(0); i>=0; i=bs.nextSetBit(i+1)) { 
      list.add(i);
    }
    int[] a = new int[list.size()];
    for (int i=0; i<list.size(); ++i) {
      a[i] = list.get(i);
    }
    return a;
  }
 

jPat

Bekanntes Mitglied
Das kannst selber schreiben...

du musst bitopetratoren benutzen!!
& -> bittweises "und"
1<<n shiftLeft, also n mal nach linksschiften.

zb:
if ((deineZahl & (1<<n)) != 0) dann ist das n-te bit gesetzt.

ist nicht sooo schwer.
Nimm dir nen Stift und nen zettel ... probier es einfach mal aus.
 

PollerJava

Top Contributor
Ja, das mit shift und & maskieren ist schon klar, ich wollte es mit BitSet machen:

1. ich übergebe der Klasse BitSet eine zahl und kann dann mit diesem Objekt die gesetzten Bit ablesen aber so weit ich gesehen habe geht das nicht oder?

lg
 

mikachu

Top Contributor
nich ganz, wenn du im konstruktor von BitSet eine zahl angibst, ist das nicht die zahl, welche du als bits dargestellt kriegen willst, sondern der initialwert des intern genutzen arrays/vektors (nennts, wie ihr wollt, ne liste oder so)

einfach selber ne (statische) methode für schreiben :D

Code:
import java.util.BitSet;

public class MyBitSet
{
   public static String getBits( int value )
   {
      BitSet bs = new BitSet();
      for( int i = value, bitIndex = 0; i > 0; i = i >> 1, ++bitIndex )
      {
         if( i % 2 == 1 )
         {
            bs.set( bitIndex );
         }
      }
      return bs.toString();
   }

   public static void main( String[] args )
   {
      System.out.println( MyBitSet.getBits( 341 ) );  // 101010101 => {0, 2, 4, 6, 8}
   }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
bittedanke Wie benötigte Bits berechnen (Huffmankodierung) Allgemeine Java-Themen 7
F Zahlen zu Bits Allgemeine Java-Themen 3
L Variablen longBitsToDouble(long bits) als int Allgemeine Java-Themen 6
P Einzelne Bits in einem Byte-Array setzen Allgemeine Java-Themen 2
Psypsy Bits in Textdatei und zurück Allgemeine Java-Themen 3
R Bits in eine IP-adresse (string) umwandeln Allgemeine Java-Themen 5
P byte -> einzelne bits auslesen ??? Allgemeine Java-Themen 4
R 11 GB File lesen ohne zu extrahieren Filedaten Bereich für Bereich adressieren dann mit Multi-Thread id die DB importieren Allgemeine Java-Themen 3
izoards Bestimmter Text aus PDF extrahieren Allgemeine Java-Themen 3
C Outlook msg-Datei Anhänge extrahieren Allgemeine Java-Themen 2
C jar Archiv im Programm aus dessen jar extrahieren Allgemeine Java-Themen 2
F Calss Datei mit allen Ressources extrahieren Allgemeine Java-Themen 5
S Robuste Methode um Text von HTML code zu extrahieren..? Allgemeine Java-Themen 6
P Font aus PDF extrahieren -> im Panel anzeigen Allgemeine Java-Themen 3
M DLL aus jar extrahieren und als lib nutzen Allgemeine Java-Themen 24
J String filtern / XML-Code extrahieren Allgemeine Java-Themen 4
L Private Key aus KeyDatei extrahieren Allgemeine Java-Themen 2
P Tonspur aus Video extrahieren und konvertieren Allgemeine Java-Themen 2
D [win] icon aus exe extrahieren Allgemeine Java-Themen 5
J URLs aus HTML Datei extrahieren Allgemeine Java-Themen 2
D Bilder extrahieren aus EPS - Problem mit ASCII85 Allgemeine Java-Themen 2
S JavaDoc aus .class Datei extrahieren Allgemeine Java-Themen 5
T [htmlparser.sourceforge.net] Attribute extrahieren Allgemeine Java-Themen 3
B Film aus Java JAR-Archiv extrahieren Allgemeine Java-Themen 4
J PDF Content extrahieren mit JPO Allgemeine Java-Themen 5
M Embedded Files aus PDF extrahieren Allgemeine Java-Themen 3
S Daten extrahieren aus Excel Dateien (auch 2k7) Allgemeine Java-Themen 4
M TIFFs aus PDF extrahieren Allgemeine Java-Themen 4
C Textteile aus Strings extrahieren? Allgemeine Java-Themen 6
C Alle Möglichen Substrings der Länge k aus String extrahieren Allgemeine Java-Themen 9
R Text aus PDF extrahieren Allgemeine Java-Themen 2
spacegaier Kommastellen aus float extrahieren Allgemeine Java-Themen 13
K Verzeichnis rekursiv aus JAR-Datei extrahieren Allgemeine Java-Themen 6
J Packet aus JRE 6 für JRE 5 "extrahieren" Allgemeine Java-Themen 4
RaoulDuke Reguläre Ausdrücke - Daten extrahieren Allgemeine Java-Themen 3
R Text aus PDF extrahieren Allgemeine Java-Themen 1
M URL aus einem String extrahieren, mit reg. Ausdrücken? Allgemeine Java-Themen 19
M CAB Files extrahieren / entpacken Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben