# Ausgabe



## Java_Azubi (27. Jan 2014)

```
public class Count2 {
  public static void main(String[] args) {
    int [] a = { 0, 1, 1, 1, 0};          // Werte dem Array zuordnen
    int [] b = { 1, 0, 0, 1, 0};          // Werte dem Array zuordnen
    int result3 = dec( a );               // Methode deklarien
    System.out.println( result3 );        //Ausgabe result3
    int result4 = dec( b );                // Methode deklarien
    System.out.println( result4 );        //Ausgabe result3
  }
  public static int dec(int[] a){        // Methode 
    int number = 0;
    for (int i = 0; i < a.length; ++i){           // i<4
      number += a[i] * Math.pow(2, a.length - 1 - i);
    }
    return number;        //gebe number zurück
  }
}
```

ich verstehe leider nicht, was hier (number += a_ * Math.pow(2, a.length - 1 - i) passiert
+= weist den Wert zu und liefert + als Rückgabewert. 
Math.pow (Potenzen) a.length = 5
könnte mir jemand einmal Zahlen einsetzen? Damit ich es verstehe?_


----------



## Machareder (27. Jan 2014)

Beispiel:

```
int [] a = { 0, 1, 1, 1, 0};
```
wird mit

```
for (int i = 0; i < a.length; ++i){           // i<4
number += a[i] * Math.pow(2, a.length - 1 - i);
```
berechnet

So die Berechnung geht wie folgt:

```
(2, a.length - 1 - i)
```
du nimmst 2 * die Länge von a, von a ziehst du aber 1 und den Wert von i ab, also in diesem Beispiel:
0 += *0* * 2 ^ (5 - 1 - 0) // steht für int [] a = { *0*, 1, 1, 1, 0}
das Zwischenergebnis ist 0;
0 += 1 *2 ^ (5 - 1 - 1)
das Zwischenergebnis ist 8;
8 += 1 * 2 ^ (5 - 1 - 2)
das Zwischenergebnis ist 12;
12 + = 1 * 2 ^ (5 - 1 - 3);
das Zwischenergebnis ist 14;
14 += 0 * 2 ^ (5 - 1 - 4)
das Zwischenergebnis  ist 14;

das Ergebnis für a lautet 14.


----------

