Laden...

Frage zu arithmetischen Operatoren in C#

Erstellt von René1 vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.710 Views
R
René1 Themenstarter:in
14 Beiträge seit 2006
vor 18 Jahren
Frage zu arithmetischen Operatoren in C#

Hallo zusammen

Ich programmiere ganz neu mit C# (sozusagen noch ein C# - DAU 😉.

Um C# kennen zu lernen habe ich als kleines Uebungsstück die Nachbildung
meines Taschenrechners angefangen (alter HP67).

Mit den Grundrechenarten + - / * funktioniert alles bestens, doch nun habe
ich ein Problem mit dem Potenzieren zum Beispiel zahl hoch exponent (y^x).
Ich habe weder in der Hilfe noch im Forum eine vernünftige Lösung gefunden.

Wie kann ich in C# mit Fliesskomma Zahlen hochrechnen?
Folgendes sollte möglich sein; z.B. 2 hoch 0.5 (=Wurzel von 2).

Habe ich die falsche Sprache für diese Aufgabe gewählt und müsste diese eher
in VisualBasic lösen, oder gibt es direkte Befehle für höhere Operatoren
wie potenzieren und weitere?

Für Hilfe bin ich dankbar.

Gruss René
n.B. mein erster Forumbeitrag, hoffe alles richtig gemacht.

X
40 Beiträge seit 2005
vor 18 Jahren

Math.Pow() ist dein Freund.

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo René1,

=Wurzel von 2

für diesen Spezialfall gibt es zusätzlich Math.Sqrt

herbivore

V
179 Beiträge seit 2005
vor 18 Jahren

oder wieder pow 😉

R
René1 Themenstarter:in
14 Beiträge seit 2006
vor 18 Jahren

Hallo x86fanboy (und all die andern die geantwortet haben)

Besten Dank für die schnellen Profi Antworten und die Hilfe.

Als erstes bin ich mal beruhigt, dass es Möglichkeiten gibt auch
komplexere, mathematische Programme in C# zu schreiben.

Soviel habe ich verstanden:
Math.Pow() ist ein Teil der Math-Klasse, welche auch noch viele
andere Mathematische Funktionen anbietet.

Nun noch eine weitere Frage in die Profirunde:
Offenbar kennt mein C# die Math-Klasse nicht. Ich besitze die
Visual C# 2005 Express Edition (beigelegte CD vom letzten c't).
Kann die Math-Klasse heruntergeladen und zugefügt werden?
Oder verstehe ich da etwas falsch?

Bitte also nochmals um Hilfe.

Gruss René

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo René1,

die Math-Klasse liegt im Namespace System. Dieser sollte standardmäßig eingebunden sein (und auch eine Referenz auf die Assemby, die die Klasse Math enthält, sollte standardmäßig vorhanden sein).

Wenn nicht schreib an den Anfang deiner Datei:

using System;

herbiviore

R
René1 Themenstarter:in
14 Beiträge seit 2006
vor 18 Jahren

Hallo herbiviore

Auch auf die Gefahr hin, dass ich nerve:

In der Hilfe zu deinem Math.Sqrt, welches ich ausprobieren wollte, steht unter
anderem;

Gibt die Quadratwurzel einer angegebenen Zahl zurück.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

Mein C# kennt bei der Eingabe zwar Math, nach dem Punkt aber kein Sqrt.
Zudem finde ich die mscorlib.dll nicht auf meinem Compi. Habe ich etwas
nicht installiert?

Gruss René

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo René1,

also der System-Namespace und die mscorlib.dll sind die absoluten Basics. Die sind schon in der .NET Runtime enthalten. Und die hast du hoffentlich installiert, sonst geht gar nichts. Die mscorlib.dll findest du unter D:\WINNT\Microsoft.NET\Framework<versionsnr>\mscorlib.dll wobei die Versionnummer für 2.0 final z.B. v2.0.50727 ist.

Da Visual C# 2005 nur mit 2.0 zusammenarbeitet, musst du natürlich auch die 2.0er Runtime haben. Wenn du nur die 1.1er Runtime hast, reicht das nicht.

herbivore

R
René1 Themenstarter:in
14 Beiträge seit 2006
vor 18 Jahren

Hallo herbiviore

Nach einigen Versuchen klappte es nun doch. Eure Hilfe hat mir auf die Sprünge
geholfen. Am richtigen Ort, richtig eingesetzt zeigt sich mein C# nun doch als
kooperativ. Sowohl Math.Sqrt als auch Math.Pow klappt nun. Wie eingangs erwähnt
zähle ich mich halt noch zu den C# Dau's (Dau steht als Abkürzung für Dümmster
anzunehmender User). Ich hoffe das ändert sich bald.

Ich danke nochmals für eure Hilfe

Gruss René

S
8.746 Beiträge seit 2005
vor 18 Jahren

Bei mir funzt die ganze Hilfe in VS Express nicht richtig. Das was installiert wird, ist nur VS-Benutzungs-Kram, der Online-Zugriff funktioniert nicht richtig. Insofern kann ich dein Problem "Studio kennt Math nicht" nachvollziehen. Das betrifft aber wohl nur die Hilfe. Im Code wird es problemlos verarbeitet.

4.207 Beiträge seit 2003
vor 18 Jahren

@ René .... http://www.guidetocsharp.de hilft Dir eventuell auch ein wenig weiter.

Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de