c++ hochrechnen, negative dezimale werte





  • nikon] schrieb:

    ...
    1.#IND kommt davon, wenn ich die zahl hoch eine dezimalzahl nehme...
    bsp: 2^3.134242

    "Dezimalzahlen" sind das andere auch alle ....



  • also ich weiß jetzt worans liegt... ist mathematisch einfach net möglich oO...
    kennt sich jemand mit neuronalen netzen und der verallgemeinerten delta regel aus? in der kommt das vor und ich weiß nicht wo mein fehler liegt



  • nikon] schrieb:

    und 0^-0 ist net 1 oder?
    aber ich geb zu... mal nen anderer fehler macht die sache interessanter...

    wenn ich 2^-2 rechnen lasse kommt 0.25 raus und des passt ja schonmal
    aber -2^-2 kommt auch 0.25 raus...

    das mit dem 1.#IND kommt davon, wenn ich die zahl hoch eine dezimalzahl nehme...
    bsp: 2^3.134242

    0^0 = nicht definiert (aber pow() gibt 1 heraus. Egal, das wirst du eh nie brauchen)
    2^(-2) = (-2)^(-2) = 1/4
    2^(3.134242) = 8.78

    nikon] schrieb:

    ist mathematisch einfach net möglich oO...

    Du solltest dich eventuell ernsthaft mit Potenzregeln befassen...



  • aber stimmt doch.. ich wussts nur davor net... wenn die zahl negativ ist kann man sie net mit ner zahl mit nachkommestellen hoch nehmen.

    hab den fehler jetzt gefunden... danke



  • Ich ziehe meinen Beitrag freiwillig zurück. Ging um 0^0.



  • ruebe schrieb:

    ⚠ Stop

    0^0 ist sehr wohl definiert und da kommt 1 raus. Das ist so!!!!!!!!!!

    Aha, ich behaupte jetzt dagegen, 0^0 führt zu 0/0. Und das gibt NaN.



  • Ich hatte gerade meinen Beitrag zurück genommen als du gepostet hast.
    Man könnte jetzt darüber streiten ob es besser ist 0^0 = 1 zu definieren oder 0^0 undefiniert zu lassen. Aber das will ich nicht. 😉



  • ruebe schrieb:

    Ich hatte gerade meinen Beitrag zurück genommen als du gepostet hast.
    Man könnte jetzt darüber streiten ob es besser ist 0^0 = 1 oder 0^0 undefiniert zu lassen. Aber das will ich nicht. 😉

    Da gibts nichts zu streiten. Das ist mathematisch eindeutig:
    0^0 = 0^(1-1) = (01)/(01) = 0/0 = NaN



  • Tachyon schrieb:

    Da gibts nichts zu streiten. Das ist mathematisch eindeutig:
    0^0 = 0^(1-1) = (01)/(01) = 0/0 = NaN

    epic fail!



  • nikon] schrieb:

    wenn die zahl negativ ist kann man sie net mit ner zahl mit nachkommestellen hoch nehmen.

    Es gilt (ich hab keine Ahnung von LaTeX, deshalb schreib ich es eben so):
    a^(p/q) = q-te Wurzel von (a^p)

    Deshalb kannst du deine Aussage so nicht verallgemeinern. Wenn du den Exponenten zu einem Bruch (p/q) umformst, und der Zähler (p) eine gerade Zahl ist, geht es. Ansonsten steht in der Wurzel eine negative Zahl, was zu einem nicht reellen Resultat führt.

    pow() ist diesbezüglich jedoch nicht konsequent; viel zu oft wird -1.#IND ausgegeben...



  • fail detector schrieb:

    Tachyon schrieb:

    Da gibts nichts zu streiten. Das ist mathematisch eindeutig:
    0^0 = 0^(1-1) = (01)/(01) = 0/0 = NaN

    epic fail!

    Tja, da hat Wikipedia wohl unrecht.



  • Tachyon schrieb:

    ...Tja, da hat Wikipedia wohl unrecht.

    Außerdem behauptet Wikipedia nicht einmal etwas Anderes, sondern zitiert nur Donald Ervin Knuth, der es einfach für unpraktisch hält, 0^0 undefiniert zu lassen.

    Gruß,

    Simon2.



  • Simon2 schrieb:

    Tachyon schrieb:

    ...Tja, da hat Wikipedia wohl unrecht.

    Außerdem behauptet Wikipedia nicht einmal etwas Anderes, sondern zitiert nur Donald Ervin Knuth, der es einfach für unpraktisch hält, 0^0 undefiniert zu lassen.

    Gruß,

    Simon2.

    Jo, stimmt. Ich habe nicht mal gesehen, dass nach „Null hoch null“ noch weitere Erklärungen folgen.



  • es ging um "mathematisch eindeutig" und um "nichts zu streiten" ...

    hat wikipedia unrecht, dass sich große mathematiker lange darüber gestritten haben, bis sie der regel a^0 = 1 den vorrang gegeben haben?

    hat wikipedia unrecht, wenn sie schreiben, dass es im C99-Standard im Anhang F.9.4.4 so festgelegt ist?

    hat wikipedia unrecht, wenn sie schreiben, dass diese regel sinn voll ist, wenn es z. bsp. um den binomischen satz, die potenzreiche für die exponentialfunktion oder um die geometrische reihe geht?



  • fail detector schrieb:

    es ging um "mathematisch eindeutig" und um "nichts zu streiten" ...

    hat wikipedia unrecht, dass sich große mathematiker lange darüber gestritten haben, bis sie der regel a^0 = 1 den vorrang gegeben haben?

    hat wikipedia unrecht, wenn sie schreiben, dass es im C99-Standard im Anhang F.9.4.4 so festgelegt ist?

    hat wikipedia unrecht, wenn sie schreiben, dass diese regel sinn voll ist, wenn es z. bsp. um den binomischen satz, die potenzreiche für die exponentialfunktion oder um die geometrische reihe geht?

    Jup.
    Und es gaben nicht Mathematiker der Regel vorrang, sondern nur einer, nämlich Knuth.
    Man könnte dann auch gleich beigehen und definieren, das 0/0 = 1 ist...



  • Tachyon schrieb:

    ...Man könnte dann auch gleich beigehen und definieren, das 0/0 = 1 ist...

    Das wäre ja auch praktischer !!

    😉



  • es ist eher vergleichbar mit der festlegung 1 ist keine primzahl



  • fail detector schrieb:

    es ist eher vergleichbar mit der festlegung 1 ist keine primzahl

    Jo, und Quellen, die sich selbst referenzieren sind natürlich validiert und einwandfrei. So wie Erich von Däniken und Zecharia Sitchin. 😉



  • Das ist jetzt aber nicht dein Ernst dass 0^0==NaN ist und 1 eine Primzahl ist, oder? Es sind zwar interessante Streitfälle aber genau deshalb hat man da ja auch eine Entscheidung gebraucht und die lautet nun mal dass 0^0==1 ist und 1 keine Primzahl ist. Dass das genauso willkürlich festgelegt ist wie die Reihenfolge 1,2,3,4,5,... (und nicht 1,3,2,5,4,...) ist eben einfach so. Da lässt sich esoterisch zwar viel streiten, aber lächerlich ists trotzdem - weil fern jedweder realität.


Anmelden zum Antworten