Hallo!
Ich schreibe gerade ein Programm, das u.a. einen JSlider anzeigt und ein Label um dessen berechneten Wert zu präsentieren.
Da es hier um Schlüsselgrößen geht, fängt der Slider bei 0 -> 1024 an und wächst dann je um den Faktor 2.
Logischerwiese wäre dann der Algorithmus:
long val = 1024*2^sizeSlider.getValue();
oder kürzer (da log2(1024)=10)
long val = 2^(sizeSlider.getValue()+10);
Leider zeigt diese Methode bei mir nur komische Werte an.
Die (maschinennähere, aber dennoch mathematisch äquivalente) Variante
String val = 1
Moin,
das könnte daran liegen, dass Java für Potenzen gerne die Methode Math.pow(double a, double b) hören möchte:
http://java.sun.com/javase/6/docs/api/java/lang/Math…
Versuch’s einfach mal damit.
Gruß,
Puni
Hallo.
long val = 2^(sizeSlider.getValue()+10);
Leider zeigt diese Methode bei mir nur komische Werte an.
Die (maschinennähere, aber dennoch mathematisch äquivalente)
Variante
String val = 1
Hi,
Oh
Das sind halt die Überbleibsel von C++…
mfg, Hans
Moin,
Hi,
das könnte daran liegen, dass Java für Potenzen gerne die
Methode Math.pow(double a, double b) hören möchte:
http://java.sun.com/javase/6/docs/api/java/lang/Math…Versuch’s einfach mal damit.
Vielen Dank, das funktioniert. (Die bitshift-Methode funktioniert halt nur für Zweierpotenzen)
Gruß,
Puni
mfg, Hans