Laden...

[erledigt] Potenzberechnung, negativer Exponent

Erstellt von pebo vor 14 Jahren Letzter Beitrag vor 14 Jahren 4.231 Views
pebo Themenstarter:in
20 Beiträge seit 2009
vor 14 Jahren
[erledigt] Potenzberechnung, negativer Exponent

Hallo zusammen,

ich habe einige Beiträge hier im Forum zu Potenzen und Exponenten gelesen, aber trotzdem habe ich noch Probleme damit 🙁 Ich hoffe ihr helft mir auf die Sprünge.

Ich versuche mich gerade an einem kleinen Programm zur Druckberechnung und möchte die Einheit Pascal (Pa) in technische Atmosphären (at) umrechnen. Laut Wikipedia ist 1 Pa = 1.0197 * 10 ^-5 at oder andere Schreibweise: 1.0197e-5
Das entspricht doch 1.0197 / 10 /10 /10 /10 /10 = 0.000010197. Ich könnte auch rechnen 1.0197 * 0.00001 = 0.000010197
Mit den beiden Rechnungen komme ich zwar auf das richtige Ergebnis, aber das muss doch auch "einfacher, flexibler, schöner" zu machen sein. Ich habe probiert:


Ergebnis1 = Math.Exp(1.0197e-5);
Ergebnis2 = Math.Pow(1.0197/10, - 5);
Ergebnis3 = Math.Pow(1.0197*10, - 5);

Aber damit erhalte ich:
Ergebnis1 = 1.0000101970519897
Ergebnis2 = 90706.394296645914
Ergebnis3= 0.00000907063942966459

Irgendwie steh ich auf dem Schlauch 🙁 Was mach ich falsch ?(

Gruss
Peter

6.911 Beiträge seit 2009
vor 14 Jahren

Hallo,

rechne mit einer Multiplikation.


double at = pa * 1.0197e-5;

BTW 1: Die Einheit at sollte eigentlich nicht verwendet werden. Seit 01.01.1978 ist die Einheit bar zu verwenden.

BTW 2: Siehe auch [Hinweis] Wie poste ich richtig? Punkt 1.1.1 😉

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

M
194 Beiträge seit 2008
vor 14 Jahren

Hallo pebo,

1E-5 bedeutet 1 * 10^-5. Demzufolge wäre die richtige Schreibweise mit pow:


double dErgebnis = 1.0197 * Math.Pow(10, -5);

Du könntest natürlich auch ne kleine Funktion schreiben, die das noch kompakter erledigt. Aber falls du es nicht ständig brauchst ist das doch einfach genug, oder.

Beste Grüße
Stefan

"Indem Sie über dieses ernste Thema lachen disqualifizieren Sie sich selbst."
mrleeh.de

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo pebo,

das hat nichts mit negativen Exponenten zu tun. Math.Pow(x, y) rechnet einfach x ^ y und nicht x * (10 ^ y). Daher auch der Vorschlag von MrLeeh, der ja auf x * Math.Pow(10, y) hinausläuft, was dann wirklich x * (10 ^ y) rechnet. Aber warum willst du überhaupt rechnen? Du kannst doch einfach die "andere Schreibweise: 1.0197e-5" direkt im Programm benutzen.

BTW: Math.Exp (x) rechnet e ^ x, was völlig an der Sache vorbeiführt.

herbivore

pebo Themenstarter:in
20 Beiträge seit 2009
vor 14 Jahren

Guten Morgen gfoidl, MrLeeh und herbivore,

vielen Dank für eure Hilfe 👍
Wenn ich eure Antworten so lese, fällt es mir wie Schuppen von den Augen und ich ärgere mich auch ein wenig darüber, dass ich nicht selbst, trotz Lesen der Hilfe und der anderen Forumsbeiträge, darauf gekommen bin 🙁

BTW 2: Siehe auch [Hinweis] Wie poste ich richtig? Punkt 1.1.1 😉

Sorry Leute, diesen Punkt habe ich jetzt erst richtig durchgelesen. Ich gelobe Besserung 😉

Wünsche Euch nen schönen Sonntag
Peter