Formeln in Ansi C



  • r ist ne konstante. sowas gehoert nicht als formel in den quelltext, sondern als fertige zahl.



  • c.rackwitz schrieb:

    r ist ne konstante. sowas gehoert nicht als formel in den quelltext, sondern als fertige zahl.

    r = 1871.760182
    oder hab' ich mich verrechnet?
    🙂



  • c.rackwitz schrieb:

    r ist ne konstante. sowas gehoert nicht als formel in den quelltext, sondern als fertige zahl.

    Aber bitte mit Bedeutung!

    #define magic_constant 1871.760182

    Das ist schlecht.



  • gewaltig verrechnet:
    400 ln(15725/146)
    genau gehts auch 🤡



  • c.rackwitz schrieb:

    gewaltig verrechnet:
    400 ln(15725/146)
    genau gehts auch 🤡

    wolltest du's nicht als konstante haben?



  • schon, aber dann bitte auf moeglichst viele stellen genau. und wieviele das sind, das darf der compiler sich ausrechnen.



  • c.rackwitz schrieb:

    schon, aber dann bitte auf moeglichst viele stellen genau. und wieviele das sind, das darf der compiler sich ausrechnen.

    der compiler rechnet das doch nicht aus.
    kannst es ja so hinschreiben:

    #define r 1871.760182381163020177617475926367008064241723093674504066147197931198747830821055496954642893599646
    

    🙂



  • der praeprozessor setzt den term aber ein und der compiler optimiert drauf los (bleibt zumindest zu hoffen, was exp() angeht).

    und zu den 100 stellen genauigkeit: wenn nun eine architektur floats mit 512 bit genauigkeit anbietet (154 stellen), dann bist du angeschmiert :p

    is auch wurscht. der OP meldet sich eh nicht mehr. da reichen 2 stellen allemal. mein taschenrechner hat auch nicht mehr angezeigt. irgendwelche rundungsfehler wuerden auch nie jemandem auffallen, der so eine formel nicht von selber umstellt.



  • c.rackwitz schrieb:

    und zu den 100 stellen genauigkeit: wenn nun eine architektur floats mit 512 bit genauigkeit anbietet (154 stellen), dann bist du angeschmiert :p

    dann eben so

    #define r 1871.760183944121934123923190584091935823692131623425390420426934147382680126526346675676603225901299241622765983820577200328621503437750581420299047309444237117824494218561599573464353365564934413954508523664868497712811580873588913891231146066903003863050043345580830149991890200697983784221450694176994321916692632626372734466016602054335107922094602520786860394901469206495183902705267980466251455710296308890809976230806025166754675320926231508556837641696647860791988727863109727917536079470830965878493431215746119782927863493290592998928125330403402521302036599951179697287962629392387799756375474409432391866765916694682981613721145278654127574605350326911691659738455351690376342689222071337151391678917197213933868583637017756774141293412478858734191088487831575553297132315780742791648104222873678047353367392637690618563299718302417855894340445196131825563696308636277067416276289710898685054056176071953279815683633661114434591735174359398153605667366454463943940436825559045756802498191
    

    🙂



  • und dann kommt einer mit arbitrary precision / computer algebra libraries daher und kann dein literal doch tatsaechlich als echten term speichern :>

    /e
    das waer doch mal was, ne algebra library mit der man symbolisch rechnen kann. echte brueche, formeln umstellen und evtl sogar automatisch loesen, ...
    aber das gibts ja bestimmt schon als binding zu maple, mathematica, yacas, etc


Anmelden zum Antworten