Bruchrechnen

  • Heyo

    Ich glaub meine Frage hat nur bedingt was mit AutoIt zu tun, ich hoff ihr könnt mir trotzdem helfen. Ich hatte in Mathe ne 5 und ich komm nicht auf den Trichter.

    Und zwar erstelle ich mit AutoIt Scripts für AviSynth. Dieses will die Framerate als Bruch angegeben bekommen.

    Der Zähler heißt fpsnum, der Nenner fpsden.

    Wenn ich die Framerate 25.000 setzen will, wäre es zb 25/1. Bei graden Zahlen also kein Ding.
    Aber eine Framerate von 29.970 wäre 30000/1001. Keine Ahnung wie ich da drauf kommen soll... (hab diesen Fall ergooglet)

    Ich bräuchte da irgendwie ne Formel, um jede beliebige Framerate automatisch als ganzzahlige Zähler und Nenner ausgeben zu können.

    Mir qualmt der Kopf, vielleicht könnt ihr mir weiterhelfen?

    Einmal editiert, zuletzt von klischee (18. Mai 2012 um 22:27)

  • Wenn die Zahl hinter dem Komma endlich ist wäre es am einfachsten einfach gedanklich das Komma bis zur letzten Stelle zu verschieben.
    29,97 wäre demnach dann 2997/100
    Schon hat man einen entsprechenden Bruch.
    Will man diesen noch vereinfachen kann man z.B. den größten gemeinsamen Teiler bilden. (z.B. >>hier<<).
    In dem Fall kommt man zwar nicht auf den von dir angegebenen Bruch aber die repräsentierte Zahl bleibt die selbe (wobei 30000/1001 auch nur eine Näherung darstellt).

  • in englisch wirst ja hoffentlich keine 5 gehabt haben? ;)
    hier könnte dir geholfen werden: http://avisynth.org/mediawiki/FFmpegSource


    Die Seite hab ich schon 50 mal durch aber wo soll die mir jetzt helfen?

    Da steht doch auch nur dass die Framerate als Zähler und Nenner angegeben werden soll, aber wie man das berechnet, steht da nicht (oder?)

    PS: Immerhin ne 3 ;)

    Wenn die Zahl hinter dem Komma endlich ist wäre es am einfachsten einfach gedanklich das Komma bis zur letzten Stelle zu verschieben.
    29,97 wäre demnach dann 2997/100
    Schon hat man einen entsprechenden Bruch.
    Will man diesen noch vereinfachen kann man z.B. den größten gemeinsamen Teiler bilden. (z.B. >>hier<<).
    In dem Fall kommt man zwar nicht auf den von dir angegebenen Bruch aber die repräsentierte Zahl bleibt die selbe (wobei 30000/1001 auch nur eine Näherung darstellt).


    2997/100 funktioniert auch, hast recht. Also kann ich einfach aus dem Framerate-String den Punkt entfernen (hat immer 3 Nachkommazahlen) und dann geteilt durch 1000 machen. Erbärmlich dass ich da nicht selbst drauf kam, danke!

  • 2 Mal editiert, zuletzt von aj1987 (18. Mai 2012 um 22:37)

  • Sorry, ich seh immernoch nicht wo mir da jetzt Bruchrechnen erklärt wird.

  • Das geht aber nur bei runden Zahlen wie 25, nicht bei solchen mit Nachkommastellen wie das im Beispiel genannte 29.970. Ich will ja nicht mit fast dreißigtausend Frames die Sekunde dekodieren.