Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte
Ergebnis 31 bis 40 von 59

Thema: Division von INT Zahlen

  1. #31
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wenn irgendjemand hingeht, eine Variable als Dint deklariert, und

    5 mittels /I durch 3 teilt, ist das Ergebnis, sofern er es in einem Dint abspeichert, nicht 1.

    Um mehr gehts doch garnicht. Ob irgendwann mal 0 rauskommt ist für die Diskussion der letzten 10 Posts doch völlig nebensächlich.


    Edit:

    OHGN hats ja auch gerade geschrieben, wie richtig geht.
    Geändert von Grubba (16.07.2008 um 12:01 Uhr)

  2. #32
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von OHGN Beitrag anzeigen
    Klar ist inzwischen, dass es sich bei der Variable von HonestAnnie nicht um eine 16 Bit Integer sondern um eine 32 Bit Doppelinteger handelt.
    glaub ich nicht, dass das klar ist... aber möglich!

    Zitat Zitat von Grubba Beitrag anzeigen
    Um mehr gehts doch garnicht. Ob irgendwann mal 0 rauskommt ist für die Diskussion der letzten 10 Posts doch völlig nebensächlich.
    nein, war es nicht, denn es war die ausgangssitution "da müßte doch wenigstens null rauskommen" stand da irgendwo ...

    @honestannie: welchen datentyp hat denn nun deine nummer?

    mit SRW 1 funktioniert das nämlich auch nur, solange der dividend <= 32767 ist
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #33
    HonestAnnie ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.07.2008
    Beiträge
    10
    Danke
    5
    Erhielt 1 Danke für 1 Beitrag

    Standard

    @Vierlagig: Der Datentyp ist INT, der Speicherbereich der temp Variable ist von 38.0 bis 40.0, also zwei Byte

  4. Folgender Benutzer sagt Danke zu HonestAnnie für den nützlichen Beitrag:

    vierlagig (16.07.2008)

  5. #34
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard

    ... wollt ja schon aufhören aber:

    Wie kommst Du an Dein Ergebnis von

    -> 1103364096

    Passt normalerweise nicht in 2 Byte ???

  6. #35
    HonestAnnie ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.07.2008
    Beiträge
    10
    Danke
    5
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Diese Zahl stand rechts im Beobachten Fenster. Also ich danke euch allen für eure Beiträge, aber die Lösung mit dem Bitshift ist für meine Zwecke wirklich perfekt.

  7. #36
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von HonestAnnie Beitrag anzeigen
    Diese Zahl stand rechts im Beobachten Fenster. Also ich danke euch allen für eure Beiträge, aber die Lösung mit dem Bitshift ist für meine Zwecke wirklich perfekt.
    so kommste uns nicht davon - mindestens ich will einen screenshot sehen!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  8. #37
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard

    @ HonestAnnie !!

    Böse !

    In deinem Eingangsposting hast Du

    /I

    gepostet.

    Das Ergebnis ->1103364096

    bekommt man aber zufälligerweise genau dann, wenn man

    L 49
    L 2
    /R
    T IntErgebnis

    rechnet. Kann es sein, dass das /I ein /R war?

    Wenns wirklich nicht so war, bitte ich um Entschuldigung und verneige mich vor dem Gott des Zufalls....
    Geändert von Grubba (16.07.2008 um 12:34 Uhr)

  9. #38
    Registriert seit
    24.10.2007
    Ort
    USA
    Beiträge
    815
    Danke
    3
    Erhielt 73 Danke für 57 Beiträge

    Standard

    Zitat Zitat von HonestAnnie Beitrag anzeigen
    Hallo,
    ich habe eine Frage zur Division von INT Zahlen.

    Mein Programm sieht so aus:
    Code:
    L     #ARC_NEXT_NR
    L     2
    /I                //Teile durch 2 
    T     #ARC_NEXT_NR
    Die Variable soll durch 2 geteilt und das Ergebnis in die Variable geschrieben werden. Dabei kommt jedoch nur Murks raus. Die SPS errechnet jedoch bei #ARC_NEXT_NR=49 ein Ergebnis von "1103364096". Ich hätte aber gerne 24 (Zahlen hinterm Komma wegschneiden).

    Vielen Dank für jeden konstruktiven Beitrag.

    Ich benutze momentan:
    312C
    Step 7 V5.33
    das Ergebnis "1103364096".

    Das mit

    L X_Int
    L 2 (oder Srw 1)
    /I
    T L X_Int


    muss das richtige Ergebnis liefern.

    Wenn das Zyklisch aufgerufen ist--> 0

    und wenn:
    U X_Bool
    FP Var_Shit
    = Var_sch
    U Var_sch
    SPBN End

    L X_Int
    L 2 (oder Srw 1)
    /I
    T L X_Int
    End: NOP 1


    denn hat man wie gesagt das richtige Resultat (<>0)


    johnij

  10. #39
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    @johnij:

    1. code-tags!!!
    2. T L x_int wird wohl nicht funktionieren
    3. das da 0 rauskommt bestrittest du erst noch, freu mich für dich, dass es bei dir angekommen ist - herzlichen glückwunsch!
    4.
    Code:
    *
            = Var_sch 
            U Var_sch
    kann man weg lassen, da fühlt man sich nur Va_rscht

    @honestannie:

    screenshot!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  11. #40
    Registriert seit
    08.11.2006
    Ort
    Uckermark
    Beiträge
    903
    Danke
    201
    Erhielt 256 Danke für 208 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von vierlagig Beitrag anzeigen
    .....
    @honestannie:

    screenshot!
    @vierlagig: Ich will Dir ja nicht die Laune verderben, aber ich fürchte da wirst Du lange drauf warten können.
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

Ähnliche Themen

  1. 64/32 Bit Division in AWL
    Von Lisa im Forum Simatic
    Antworten: 37
    Letzter Beitrag: 19.02.2010, 14:09
  2. SCL Division mit Rest
    Von vollmi im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 05.06.2009, 15:41
  3. Division von DInt
    Von godi im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 07.01.2006, 08:10
  4. Genauest mögliche Division zweier Zahlen
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 16.04.2005, 09:53
  5. Division durch null
    Von kpeter im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 08.02.2005, 18:48

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •