![]() |
Mathematische Operatoren/Zeichen
Hallo Leute,
kann mir einer sagen wo ich im internet eine Liste finde mit den schreibweisen von exponenten in Delphi. Zum beispiel will ich mit der Zahl: 1,67262145 * 10^-27 (1,67262145 mal 10 hoch -27) rechnen wenn ich aber das so in Delphi eingebe schreibt er mir folgende Fehlermeldung beim Compelieren: [Error] Unit1.pas(93): Pointer type required Wie soll ich das dann schreiben damit der Compiler das erkennt, und solche sachen wie dei natürlicher Logarithmus (Ln) und Eulersche-Zahl (e) brauche ich auch. (Also wie ich das korrekt in delphi schreibe. |
Re: Mathematische Operatoren/Zeichen
Wenn du sie als Zahlen haben willst, musst du sie vorher selber ausrechnen.
Wenn du sie als Funktion von Variablen haben möchtest, dann suche mal die Funktionen in der Unit math (power, ln, exp). |
Re: Mathematische Operatoren/Zeichen
Hi,
stöber mal in der Unit Math, da ist das meiste drin. :zwinker: |
Re: Mathematische Operatoren/Zeichen
Zitat:
1.67262145e-27 schreiben. Grüße |
Re: Mathematische Operatoren/Zeichen
danke erstmal für die schnellen antworten!
Werde mal die Math durchsuchen... |
Re: Mathematische Operatoren/Zeichen
Kleiner Hinweis: power() aus der Unit Math kann leider nicht alles berechnen was mathematisch möglich wäre. Wenn du dich in Mathe ein wenig damit beschäftigt hast, kannste ja deine eigenen power() Funktion schreiben.
|
Re: Mathematische Operatoren/Zeichen
Delphi-Quellcode:
// Falsch !!
variable := 1,67262145 * 10^-27; // [Error] Unit1.pas(93): Pointer type required // Richtig: variable := 1.67262145E-27; // mit Punkt und ohne das *10^ |
Re: Mathematische Operatoren/Zeichen
Zitat:
Code:
definiert ist. Das Problem ist, dass 1/3 nicht genau darstellbar ist und die FPU daher mit einer Näherung rechnet, und der Wert dieser Näherung ist eben nicht definiert. Es ist also kaum möglich, eine eigene Power-Funktion zu schreiben, die allgemein immer das richtige Ergebnis liefert.
(-8)^(1/3)
|
Re: Mathematische Operatoren/Zeichen
Zitat:
Code:
nicht definiert ist, da Power ja nichts anderes als grob gesagt
Ln(-8)
Code:
implementiert, wobei a die Basis und b der Exponent ist. Das liese sich aber dadurch lösen, dass man das Ganze in komplexen Zahlen rechnet - da ist Ln(-8) nämlich definiert und liefert zusammen mit der oben beschriebenen Formel den korrekten Wert für a hoch b.
Exp(b * Ln(a))
Dust Signs |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz