# Potenzen



## javabeginner241 (9. Jul 2012)

hallo 

ich sitze an einer eigentlich einfach aufgabe aber das Ergebnis gefällt mir noch nicht so wirklich:

Aufgabe ist ein Programm zu schreiben das für n= 0 bis 32 die nte potenz von 2 ausgibt.

da stellt sich mir die frage potenzen drückt man die in java mit ^ aus? könnte man wurzel auch berechnen?

was stimmt an meiner lösung bis her nicht ?


```
public class ZweierPotenzen {

	
	public static void main(String[] args) {
		
		
		int a = 2;
		
		
		for (int i = 0; i<=32;i++){
			
			int ergebnis=a^i;
			
			System.out.println("Die Potenz von: "+a + "mit n= "+ i+ "beträgt:"+ ergebnis);
			
		}
	}

}
```


----------



## SlaterB (9. Jul 2012)

daran stimmt (nicht), dass du vergessen hast, 'java potenz ausrechnen' bzw. ähnliches in eine Suchmaschine einzutippen

^ findest du unter 'Bitoperatoren', als Tipp  bzw. hier unwichtig, nicht benötigt, in der Tat falsch


----------



## janus23 (9. Jul 2012)

In Java gibt es für solche Berechnungen die Klasse Math.

```
Math.pow(2,1);
```
wäre demnach 2^1.

Für würzeln gibt es 
	
	
	
	





```
Math.sqrt(4);
```
 welches die Quadratwurzel berechnet, also in diesem Fall 2. Willst du andere Wurzeln berechnen, musst du das mit pow machen 
Dazu sei gesagt, dass beide Funktionen double Werte erwarten.


----------



## Marco13 (9. Jul 2012)

2^x sollte man nicht mit pow berechnen ... IMHO. Sicher kann man das, wenn es egal ist, aber 2erpotenzen sind nur geshiftete bits.
twoPowN = (1 << n);

Wurzeln kann man dann aber (wenn man sqrt nicht will, oder im allgemeinen Fall) mit Pow berechnen: 
Math.pow(x, 0.5);
ist die Quadratwurzel, 
Math.pow(x, 1.0/3.0);
die dritte Wurzel (wenn ich mich nicht irre...) usw...


----------



## Meierhof (19. Jul 2012)

Wobei hier vielleicht auch daran zu denken wäre, die Intention der Aufgabe abseits des direkten (java.math) Weges zu suchen.
So wäre hier beispielsweise eine Schleifenkonstruktion und einfache Multiplikationsoperationen ebenfalls zielführend.


----------



## Landei (20. Jul 2012)

```
public class ZweierPotenzen {
    public static void main(String[] args) {
        for(long n = 0, i = 1; n <= 32; n ++, i *= 2) {
            System.out.printf("2^%d = %d%n",n,i);
        }
    }
}
```


----------

