Forum: Mikrocontroller und Digitale Elektronik Frage an die C-Programmierer


von CH (Gast)


Lesenswert?

Da ich von C keine Ahnung habe ......

double alpha = GetDEG( Math.Acos(
            ( Math.Sin( lat2 ) - Math.Sin( lat1 ) * Math.Cos( 
CalcDistance( c1, c2 ) ) ) /
            ( Math.Cos( lat1 ) * Math.Sin( CalcDistance( c1, c2 ) ) ) ) 
);

Rechnet C automatisch Punkt vor Strich?

Danke
CH

von Gehts noch? (Gast)


Lesenswert?

Ja.

von mh (Gast)


Lesenswert?

Sicher dass es sich dabei um c handelt?

von Schlaumaier (Gast)


Lesenswert?

CH schrieb:
> Rechnet C automatisch Punkt vor Strich?

Die einzigen die nicht Punkt von Strich rechnen, sind billige 
China-Taschenrechner. Ich kenne keine Prg-Sprache die es wagt gegen 
Mathe-Norm-Regeln zu verstoßen.

Kleiner Tipp wenn du dir nicht sicher bist. Mache normale Klammern drum. 
Die werden immer zuerst aufgelöst.

Der Code sieht wie VB aus. bis auf das komische kleine Semikolon am 
Ende.

Also tippe ich mal auf VC ;)

von Carl D. (jcw2)


Lesenswert?

Das ist keine C-Frage, sondern einen Halbton höher, also C#.
Die Antwort auf die Frage "Punkt vor Strich?" sollte aber die gleiche 
sein.

von Jemand (Gast)


Lesenswert?

Schlaumaier schrieb:
> Die einzigen die nicht Punkt von Strich rechnen, sind billige
> China-Taschenrechner.

Igitt, ein Infix-Nutzer

von Rolf M. (rmagnus)


Lesenswert?

Jemand schrieb:
> Schlaumaier schrieb:
>> Die einzigen die nicht Punkt von Strich rechnen, sind billige
>> China-Taschenrechner.
>
> Igitt, ein Infix-Nutzer

Genau. Bei richtigen Taschenrechnern stellt sich die Frage gar nicht 
erst.

von Schlaumaier (Gast)


Lesenswert?

Kleiner Tipp an den TO.

Die Math.funktion rechnet NICHT in GRAD.

sin_in_grad = Math.PI / 180

x2 = Math.Cos(m_winkel * sin_in_grad)

Gibt das Ergebnis von m_winkel in Grad aus.

von Schlaumaier (Gast)


Lesenswert?

Rolf M. schrieb:
> Genau. Bei richtigen Taschenrechnern stellt sich die Frage gar nicht
> erst.

Bevor ich ein Taschenrecher kaufe rechne ich 2 + 2 x 5 und wenn ich 
keine 12 sehe bekommen sie das Teil wieder.

Ich meine frühen Jugend hatte ich in der Schule mal den Taschenrechner 
meines Freundes genutzt weil ich mein vergessen hatte.

Das war die einzige 6 in 10 Schuljahren in Mathe. die 2.schlechteste 
Note war eine 3. Und da war ich die Nacht vorher "in-disponiert". ;)

So was vergisst man sein Leben nicht.

von Stefan (Gast)


Lesenswert?

Dann nehmt mal den Windows Standart Rechner.
Der rechnet auch immer noch falsch.

von Schlaumaier (Gast)


Lesenswert?

Stefan schrieb:
> Dann nehmt mal den Windows Standart Rechner.
> Der rechnet auch immer noch falsch.

Nur der Rechner. ?? Glaub ich nicht. kischer

Davon abgesehen. Für einfache Berechnungen habe ich mein (damals 
vergessenen) Privileg-Taschenrechner, für längere Berechnungen mein 
PC1403, 2 Jahre jünger.  Und beide noch mit viel Metall drumherum ;)

von Timmo H. (masterfx)


Lesenswert?

Stefan schrieb:
> Dann nehmt mal den Windows Standart Rechner.
Nicht wenn man auf wissenschaftlich stellt.

von Schlaumaier (Gast)


Lesenswert?

Timmo H. schrieb:
> Stefan schrieb:
>> Dann nehmt mal den Windows Standart Rechner.
> Nicht wenn man auf wissenschaftlich stellt.

hä. Es gibt bei Windows 2 Arten von Mathematik. ? Normale und 
Wissenschaftliche. ?? Das erklärt vieles. ;);)

Erinnert mich doch stark an die Intel-Prozessoren die sich verrechnet 
haben ;)

von Timmo H. (masterfx)


Lesenswert?

Schlaumaier schrieb:
> hä. Es gibt bei Windows 2 Arten von Mathematik. ? Normale und
> Wissenschaftliche. ?? Das erklärt vieles. ;);)
Ja die Standard-Einstellung ist für dejenigen die verzweifelt versuchen 
auf Facebook und Clickbait Seiten die Matheaufgaben zu lösen.

von (prx) A. K. (prx)


Lesenswert?

Schlaumaier schrieb:
> Ich kenne keine Prg-Sprache die es wagt gegen
> Mathe-Norm-Regeln zu verstoßen.

Ausgerechnet die sehr mathematisch orientierte Sprache APL rechnet ohne 
Vorrang von rechts nach links. In Präfix/Postfix Sprachen wie Lisp und 
FORTH stellt sich das Problem nicht. Allerdings ist die 
Verwechselungsgefahr mit obigem Code gering.

von Schlaumaier (Gast)


Lesenswert?

A. K. schrieb:
> Ausgerechnet die sehr mathematisch orientierte Sprache APL rechnet ohne
> Vorrang von rechts nach links.

Wieder was gelernt. DANKE. Aber so einen komische Sprache hab ich noch 
nie genutzt.

von (prx) A. K. (prx)


Lesenswert?

Schlaumaier schrieb:
> Aber so einen komische Sprache hab ich noch nie genutzt.

War meine erste Programmiersprache. Hat mir sogar Ferienjobs in 
Programmierung eingebracht.

von Standart-Hater (Gast)


Lesenswert?

Stefan schrieb:
> Dann nehmt mal den Windows Standart Rechner.

Standard! Man man man. Schlau von Mathematik reden aber in Deutsch eine 
sechs oder was?

von Rolf M. (rmagnus)


Lesenswert?

Schlaumaier schrieb:
> Rolf M. schrieb:
>> Genau. Bei richtigen Taschenrechnern stellt sich die Frage gar nicht
>> erst.
>
> Bevor ich ein Taschenrecher kaufe rechne ich 2 + 2 x 5 und wenn ich
> keine 12 sehe bekommen sie das Teil wieder.

Ich glaube, du hast nicht ganz verstanden, was gemeint war. Das Posting 
von "Jemand" und meine Antwort darauf zielten auf Taschenrechner ab, die 
UPN benutzen. Dort sind Dinge wie punkt-vor-Strich oder Klammern gar 
nicht nötig.

Standart-Hater schrieb:
> Stefan schrieb:
>> Dann nehmt mal den Windows Standart Rechner.
>
> Standard! Man man man. Schlau von Mathematik reden aber in Deutsch eine
> sechs oder was?

Vielleicht soll es ja ein denglischer Begriff sein - eine Mischung aus 
"Stand der Technik" und "state of the art" - ergibt "Stand-art". :)

von Wühlhase (Gast)


Lesenswert?

Stefan schrieb:
> Dann nehmt mal den Windows Standart Rechner.
> Der rechnet auch immer noch falsch.

Wieso...wo rechnet der falsch?

Der Windows-Rechner unterstützt lediglich keine Kettenoperationen, da 
stellt sich das Problem gar nicht.
Wenn du da 2*2+5 eintippst, liefert er nach dem zweiten Operanden ein 
Zwischenergebnis (in diesem Fall 4) und wendet die nächste Operation 
(Addition mit 5) darauf an.

Nicht schön und komfortabel, aber falsch würde ich das nicht nennen.

von Schlaumaier (Gast)


Lesenswert?

Wühlhase schrieb:
> Nicht schön und komfortabel, aber falsch würde ich das nicht nennen.

Aber richtig auch nicht. Weil genau SO habe ich meine 6 bekommen damals. 
;)

Und in Rechtschreibung bin ich auch nur auf ein 4 gekommen. Gelobt sei 
die Kombinote Deutsch. Rechtschreibung 6, Aufsatz (ohne Fehlerprüfung) 
1+

Mein Lehrer sagte mal "ich könnte Autor werden wenn der Verlag 3 Leute 
bezahlt die die Rechtschreibfehler suchen".

von Michael B. (laberkopp)


Lesenswert?

Schlaumaier schrieb:
> Die einzigen die nicht Punkt von Strich rechnen, sind billige
> China-Taschenrechner.

Und natürlich der (Taschen)Rechner von Microsoft in Windows.

ZUmindest so lange er nicht im "Expertenmodus" ist.

von Yalu X. (yalu) (Moderator)


Lesenswert?

A. K. schrieb:
> Ausgerechnet die sehr mathematisch orientierte Sprache APL rechnet ohne
> Vorrang von rechts nach links.

Im ebenfalls sehr mathematisch orientierten Haskell kann man die
Vorrangstufen jedes Infixoperators nach Belieben festlegen, ebenso die
Assoziativität (links oder rechts).

Normalerweise hat * Vorrang vor +. Damit ist

  1 + 2 * 3 + 4 = 1 + (2 * 3) + 4 = 11

Setzt man beide Vorrangstufen auf den gleichen Wert, wird ein Ausdruck
mit + und * wie bei den einfachen Taschenrechnern von links nach rechts
ausgewertet:

  1 + 2 * 3 + 4 = ((1 + 2) * 3) + 4 = 13

Gibt man + den Vorrang vor *, ist

  1 + 2 * 3 + 4 = (1 + 2) * (3 + 4) = 21

Natürlich wird man, wenn man den Programmcode nicht absichtlich
vernebeln möchte, die Vorrangordnung bestehender Operatoren nicht
ändern, sondern diese Möglichkeit ausschließlich auf neudefinierte
Operatoren anwenden.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Timmo H. schrieb:
> Stefan schrieb:
>> Dann nehmt mal den Windows Standart Rechner.
> Nicht wenn man auf wissenschaftlich stellt.

Leider ist das nicht die Voreinstellung. Ich warte ja (natürlich
vergeblich) immer noch auf eine Windows-Version, bei der während der
Installation die folgende Abfrage erscheint:

1
Möchten Sie sämtliche Konfigurationsparameter von Windows® und allen
2
Microsoft®-Anwendungsprogrammen ins Gegenteil ändern? Vorsicht: Dadurch
3
könnte Windows® nutzbar werden.

Zusätzlich sollte es in der Systemsteuerung einen großen Button geben,
der dasselbe tut.

von R. F. (rfr)


Lesenswert?

Nimm das:

https://www.hpcalc.org/hp49/pc/emulators/

es ist sehr gut!

von Crazy Harry (crazy_h)


Lesenswert?

Moin moin und danke für die sachdienlichen Antworten. Ob es C ist, weiß 
ich nicht, ich hatte es vermutet. Ich progge nicht in C, deshalb die 
Frage. Noch eine Frage nebenbei: Würden zusätzliche Klammer, die das 
eindeutig machen, das compilierte Programm vergrößern?

Und ja, jetzt angemeldet, das geht nicht auf allen von mir genutzten 
Geräten.

von mh (Gast)


Lesenswert?

Yalu X. schrieb:
> Leider ist das nicht die Voreinstellung. Ich warte ja (natürlich
> vergeblich) immer noch auf eine Windows-Version, bei der während der
> Installation die folgende Abfrage erscheint:
>
> Möchten Sie sämtliche Konfigurationsparameter von Windows® und allen
> Microsoft®-Anwendungsprogrammen ins Gegenteil ändern? Vorsicht: Dadurch
> könnte Windows® nutzbar werden.
>
> Zusätzlich sollte es in der Systemsteuerung einen großen Button geben,
> der dasselbe tut.

Gefolgt von der Frage
1
Möchten sie Systemupgrades in weniger als 2 Minuten (statt 30-720)
2
und ohne zufällige Neustarts durchführen?

von Walter K. (Gast)


Lesenswert?

Crazy H. schrieb:
> Noch eine Frage nebenbei: Würden zusätzliche Klammer, die das eindeutig
> machen, das compilierte Programm vergrößern?

Klammern würden ja nur die Reihenfolge der Berechnungen - bzw. die 
Operanden ändern.
Das compilierte Programm könnte sich minimal vergrößern oder auch 
verkleinern.

von Wühlhase (Gast)


Lesenswert?

Crazy H. schrieb:
> Noch eine Frage nebenbei: Würden zusätzliche Klammer, die das
> eindeutig machen, das compilierte Programm vergrößern?

Wenn die mathematische Operation durch die Klammern nicht geändert wird: 
Nein. Bzw. wäre ich sehr ob der mangelhaften Optimierung überrascht.

Die Sprache könnte übrigens auch Java sein.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Wühlhase schrieb:
> Die Sprache könnte übrigens auch Java sein.

In Java werden –­anders als in C# – sin, cos usw. in Kleinbuchstaben
geschrieben.

von Oliver S. (oliverso)


Lesenswert?

Yalu X. schrieb:
>> Nicht wenn man auf wissenschaftlich stellt.
>
> Leider ist das nicht die Voreinstellung.

Da ich der Rechner aber die letzte Einstelling merkt, ist das Problem 
durchaus mit minimalem Aufwand lösbar.

Schlaumaier schrieb:
> Bevor ich ein Taschenrecher kaufe

Wo kann man denn heutzutage noch Taschenrechner kaufen? Da gibt es dann 
bestimmt auch noch VHS-Rekorder und Kassettendecks ;)

Oliver

von Peter D. (peda)


Lesenswert?

Schlaumaier schrieb:
> Ich meine frühen Jugend hatte ich in der Schule mal den Taschenrechner
> meines Freundes genutzt weil ich mein vergessen hatte.
>
> Das war die einzige 6 in 10 Schuljahren in Mathe.

Man sollte nicht völlig gehirnlos alles vom Taschenrechner abtippen, 
sondern schon merken, daß die Ergebnisse unsinnig sind.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Offtopic:

Schlaumaier schrieb:
> A. K. schrieb:
>> Ausgerechnet die sehr mathematisch orientierte Sprache APL rechnet ohne
>> Vorrang von rechts nach links.
>
> Wieder was gelernt. DANKE. Aber so einen komische Sprache hab ich noch
> nie genutzt.

Gnadenlose Rechnung von links nach rechts gab/gibt es manchmal bei 
G-Code im Bereich von CNC-Maschinen. Meine alte Sinumerik 810 handhabt 
das genau so, im Prinzip also wie ein Taschenrechner mit 
Zwischenergebnissen.
Dort gibt es allerdings auch keine Klammern.

Beitrag #6403398 wurde von einem Moderator gelöscht.
von Andreas M. (amesser)


Lesenswert?

Also mich wundert schon lange nichts mehr. Im Nachbarthread ist man 
nichtmal mehr in der Lage alleine einen Ordner/Hefter passend zur 
Taschengröße auszuwählen...

Und der Windowsrechner rechnet genauso wie so ziemlich jeder einfache 
Taschenrechner das früher hat und vermutlich die meisten einfachen 
Tischrechner auch immer noch tun. Selbst schuld wenn man den nicht 
bedienen kann.

von Programmierer (Gast)


Lesenswert?

Andreas M. schrieb:
> Selbst schuld wenn man den nicht bedienen kann

Ein Schulkollege hat sich damals einen extra teuren Taschenrechner 
gekauft, weil der Logarithmen zu beliebigen Basen berechen konnte. Dass 
man einfach ln(x)/ln(Basis) rechnen kann war ihm zu hoch...

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Timmo H. schrieb:
> Stefan schrieb:
>> Dann nehmt mal den Windows Standart Rechner.
> Nicht wenn man auf wissenschaftlich stellt.

Der Standard-Modul ist also unwissenschaftlich...

Damit liegt der Windows-Taschenrechner doch voll auf der höhe der Zeit 
:-)

Beitrag #6403545 wurde von einem Moderator gelöscht.
Beitrag #6403574 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.