mantisse var * 10 hoch potenz var

andy.mty

Neues Mitglied
Hallo Leute,

ich hoffe es kann mir jemand auf die Spruenge helfen, weil ich morgen das Examen habe und es koennte eine eine Aufgabe solcher Art dran kommen (wahrscheinlich mit irgendwelche anderen Werten), aber ich stehe irgendwie auf dem Schlauch diese zu loesen.

(Wie man normale Potenzaufgabe berechnet z.b. mit 2er Potenz etc. weiss ich und verstehe es auch)

Die Aufgabe koennte in diese Richtung gehen:

Berechnen sie eine Mantisse (Variable zwischen -999999 - +999999) * 10 hoch Exponet (Variable -99 - +99)

So ich verstehe, die Aufgabe schon, aber irgendwie stehe ich bei der Loesung auf dem Schlauch.

Ich soll die Variablen in der Konsole selber eingeben koennen, die 10 ist eine feste Zahl.

Also nach der Art: Geben sie die Mantisse ein: Varible dann Geben sie den Exponent ein: Variable und dann soll er mir den Wert ausgeben (natuerlich mantisse - var * 10 * exponent - var

Java bietet hier natuerlich die moeglichkeit von "pow", habe schon Dr. Google bemueht aber irgendwie finde ich nur die normalen Loesungsansaetze, die mir aber nicht so ganz weiter helfen.

Ich hoffe jemand kann mir mal einen code-schnippsel zu der Umsetzung geben, damit ich es nachvollziehen kann.

Danke im Voraus!
 
ich weiß jetzt nicht wo das problem ist, vllt hab ichs noch nicht ganz verstanden
Java:
public double getNumber(double mantisse, int exponent){
  return mantisse * Math.pow(10, exponent);
}
 
Ich weiß nicht, ob ich dich richtig verstanden habe, aber geht es dir darum, deine Zahl in ein bestimmtes Format zu kriegen oder willst du den bloßen Wert berechnen?

Wenn du das im ExponentenFormat haben möchtest, würde ichs so versuchen:

(Nur ne Idee. Ist noch buggy und wahrscheinlich auch nicht der schönste Ansatz.)
Java:
public static String getExpFormat(double mantisse, int potency) {
		String output = "";
		for (int i = potency; i >= 0; i--) {
			int digit = (int) (mantisse%10);
			mantisse = (int)mantisse/10;
			output = digit + output;
			if(i == 1){
				output = "," + output;
			}
		}
		return output + "*10^"+potency;
	}
 

Zurück
Oben