Von Dez -> Bin und von Bin -> Dez

Status
Nicht offen für weitere Antworten.

jensr

Mitglied
Hallo,
gibt es für Java fertige Funktionen mit denen ich aus einer Zahl (int) eine binäre Darstellung als String
bekommen kann? Und auch umgekehrt?

Gruß Jens
 

dieta

Top Contributor
Das kannst du mit Integer.toBinaryString(int i) in Binär-Strings umwandeln. um Binäre Zahlen wieder zu ints umzuwandeln, gibt es leider keine vorgefertigte Methode.

[edit]Korregiere: Es gibt eine Methode. Integer.parseInt(String s, int radix). Wieder mal was dazugelernt :D [/edit]
 

byte

Top Contributor
dieta hat gesagt.:
um Binäre Zahlen wieder zu ints umzuwandeln, gibt es leider keine vorgefertigte Methode.

Klar gibts das:

Code:
Integer.parseInt(String s, int radix);
 

jensr

Mitglied
Vielen Dank! :D
Code:
//convert from dec to bin
public String decbin(int dec) {
	String bin = null;
	bin = Integer.toBinaryString(dec); 
	return bin;
}
	
//convert from bin to dec
public int bindec(String bin) {
	int dec = 0;
	dec = Integer.parseInt(bin, 2);
	return dec;
}
 

bronks

Top Contributor
Weil wir gerade beim Thema sind.

Wie bekomme ich eine binäre Zahl, die in einem Bitset abgebildet ist in einen int?

Folgende Vorlage:

Code:
       BitSet bs = new BitSet();
        bs.set(0, true);
        bs.set(1,false);
        bs.set(2,true);
       
        int i = ?????????????????????????

        System.out.print(i);
 

dieta

Top Contributor
Ich würde mal sagen:
Code:
String s = "";
for(int i=0; i<bs.size(); i++){s += bs.get(i) ? "1" : "0";}
int wert = Integer.parseInt(s, 2);
 

SnooP

Top Contributor
nicht elegant genug ;)

Code:
int zahl = 0;
for(int i=0; i<bs.size(); i++)
   zahl += bs.get(i) ? 1 << i : 0 << i;
 

Leroy42

Top Contributor
und noch ein Quentchen kompakter:

Code:
int zahl = 0;
for (int i=0; i<bs.size(); i++)
   zahl += (bs.get(i) ? 1 : 0)  << i;
 

byte

Top Contributor
Code:
int zahl = 0;
for (int i=-1; i<bs.size(); i++, zahl += (bs.get(i) ? 1 : 0)  << i);

:bae:
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben