# int [] to string



## vidi (5. Nov 2006)

hallo leute,
habe ein kleines problem..steh mir grad mal wieder selbst auf dem schlauch..

habe ein "bool" array was 8 bit darstellen soll, ist ein int[] welches z.b. die werte {1,0,0,0,0,0,0,1} hat. dieses möchte ich jetzt auf einem "schönen" weg in eine dezimal zahl umwandeln in diesem fall 129 .

irgendwie komm ich da nicht weiter. freu mich über jeden tip.

greetz

vidi


----------



## Wildcard (5. Nov 2006)

```
int[] number = {1,0,0,0,0,0,0,1};
        int result = 0;
        for(int i=0;i<number.length;i++)
        {
            result+=(number[i]<<number.length-i-1);
        }
```


----------



## Guest (5. Nov 2006)

```
int bits[] = new int[] {1,0,0,0,0,0,0,1};
StringBuilder buffer = new StringBuilder(bits.length);
for(int bit : bits)
{
   buffer.append(bit);
}
System.out.println(Integer.valueOf(buffer.toString(), 2));
```


----------



## vidi (5. Nov 2006)

danke.. schon fast richtig..muss das ganze nur in anderer reihenfolge haben  das er das von rechts nach links abarbeitet als von links nach rechts..aber dasnke für deine hilfe bin nen ganzes stück weiter.


----------



## Wildcard (5. Nov 2006)

```
int[] number = {1,0,0,0,0,0,0,1};
        int result = 0;
        for(int i=0;i<number.length;i++)
        {
            result+=(number[i]<<i);
        }
        System.out.println(result);
```


----------



## vidi (5. Nov 2006)

oh em was nochn fehler in meinem prog, deins geht einwandfrei wildcard


----------



## vidi (5. Nov 2006)

mal kurz fürs verständnis mit dem << verschiebst du die bits .. oder ?


----------



## Wildcard (5. Nov 2006)

Genau. Bitshift um n Stellen unter Beachtung des Vorzeichens.


----------



## André Uhres (5. Nov 2006)

Statt "<< i" geht's auch mit "* Math.pow(2, i)"


----------



## SnooP (6. Nov 2006)

Mathematisch ist das Verschieben eines 1er Bits um eine Stelle nach links identisch mit dem Potenzieren mit dem Exponenten 2, da jede Stelle einer binären Zahl eine 2er Potenz entspricht, so wie jede Stelle einer dezimalen Zahl einer 10er Potenz entspricht.
Daher hier sehr sinnvoll einsetzbar, da das Verschieben von Bits mit << um den Faktor 1000 Milliarden Fantastilliarden (sinnvollen Wert selbst ermitteln bitte) schneller ist


----------



## André Uhres (6. Nov 2006)

SnooP hat gesagt.:
			
		

> ..Daher hier sehr sinnvoll einsetzbar, da das Verschieben von Bits mit << um den Faktor
> 1000 Milliarden Fantastilliarden (sinnvollen Wert selbst ermitteln bitte) schneller ist


Naja, sinnvoll wäre das vielleicht im Performanceforum, aber hier mit Sicherheit nicht  :wink:


----------



## Leroy42 (6. Nov 2006)

André Uhres hat gesagt.:
			
		

> Statt "<< i" geht's auch mit "* Math.pow(2, i)"



Hättest du sowas vor 20 Jahren vorgeschlagen,
wärst du gesteinigt oder gevierteilt worden.


----------



## André Uhres (6. Nov 2006)

Leroy42 hat gesagt.:
			
		

> André Uhres hat gesagt.:
> 
> 
> 
> ...


Da gab's ja auch noch kein Java


----------



## Leroy42 (6. Nov 2006)

André Uhres hat gesagt.:
			
		

> Leroy42 hat gesagt.:
> 
> 
> 
> ...



Aber sicher doch! Und du mußt die Sprache schon als Baby zu beherrschen haben.

Wenn es nach so manchen Stellenausschreibung geht.

Stichworte: frischer Hochschulabsolvent, langjährige Erfahrung, ...


----------



## André Uhres (6. Nov 2006)

André Uhres hat gesagt.:
			
		

> Da gab's ja auch noch kein Java [vor 20 Jahren]





			
				Leroy42 hat gesagt.:
			
		

> Aber sicher doch!


http://de.wikipedia.org/wiki/Java_(Technologie)#Geschichte_Javas


----------



## Leroy42 (6. Nov 2006)

André Uhres hat gesagt.:
			
		

> André Uhres hat gesagt.:
> 
> 
> 
> ...



Sag bloß du hast meine Ironie-Tags überlesen  :shock: 

Dabei habe ich sie zur Verdeutlichung extra weiß auf weiß geschrieben   

Das _"Aber sicher doch"_ bezog sich darauf, daß laut
manchen Stellenangeboten, es Java bereits seit Jahrzehnten
geben *muß*.

Mir ist die Entstehungsgeschichte von Java schon bekannt.


----------



## André Uhres (6. Nov 2006)

Leroy42 hat gesagt.:
			
		

> ..Mir ist die Entstehungsgeschichte von Java schon bekannt.


Irgendwie hab ich mir schon gedacht, daß da Ironie mitklang. Wollte nur sicher sein


----------



## vidi (6. Nov 2006)

danke leute, habt mir sehr weiter geholfen..kann jetzt endlich mit meiner relais-karte quatschen..  
habe jetzt mal alles umgebaut das ich in meinem bit "array" immer die selbe reihenfolge habe..denn die karte gibt mir die reihenfolge 8,7,6,5,4,3,2,1 und mein programm hat an ein paar stellen genau andersrum gearbeitet ( ist halt in der for schleife von 1,2,3,4,5,6,7,8 ausgegangen) aber naja nun gehts.. 
falls einer spass an automatisierungstechnik hat, und fragen hat oder lust auf brainstorming, einfach anschrieben..
greetz
vidi


----------



## vidi (6. Nov 2006)

@leroy42: sowas wie max. 23 Jahre alt, studium der theoretischen informatik, minimal 15 jahr berufserfahrung in java, und sonstige fähigkeiten in allem

 ?


----------



## Leroy42 (7. Nov 2006)

Exakt das meinte ich. Hätte nur noch anzubringen.



			
				Job Angebot hat gesagt.:
			
		

> _..Der Bewerber sollte in einer gefestigten Beziehung mit Kindern sein.
> Außerdem ist auch Mobilitätsbereitschaft eine Voraussetzung_


----------



## vidi (7. Nov 2006)

hehe


----------



## Ark (7. Nov 2006)

20 Jahre jung, 25 Jahre Berufserfahrung …

:roll:


----------

