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

Ergebnis 1 bis 8 von 8

Thema: Vorzeichen ignorieren

  1. #1
    Registriert seit
    06.01.2005
    Ort
    im schönen Lipperland
    Beiträge
    4.494
    Danke
    502
    Erhielt 1.145 Danke für 738 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen zusammen.

    Ich habe eine Intergerzahl die sowohl positiv als auch negativ sein kann. Das Vorzeichen interessiert mich aber nicht.
    Im Augenblick mache ich das so das ich auf kleiner 0 vergleiche und wenn kleiner 0 mit *-1 multipliziere.
    Hat jemand dafür eine elegantere Lösung ?

    Grüsse

    Axel
    Früher gab es Peitschen .... heute Terminkalender
    Zitieren Zitieren Vorzeichen ignorieren  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.260
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    Das linke Bit ist doch das Vorzeichen, das kannst du doch einfach generell zurücksetzen. (oder logische Operation XOR etc.)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Das klappt leider nicht ganz so:
    Wort -1 =0xFFFF
    ohne linkes Bit:
    0x7FFF = 32767

    Statt mit -1 zu multiplizieren kannst du das"Zweierkomplement" bilden. KZW bei der S5. S7 hat auch so etwas.

    Oder:
    L KF FFFF
    XOW

  4. #4
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    In SCL bzw. ST:
    Code:
    Ergebnis := ABS(-3245)  //Ergebnis wäre hier 3245
    If you open your Mind too much, your Brain will fall out.

  5. #5
    Registriert seit
    27.08.2004
    Ort
    Bei Bremen
    Beiträge
    648
    Danke
    11
    Erhielt 12 Danke für 10 Beiträge

    Standard

    Leider hat Siemens die ABS Funktion nur für Gleitpunkt an Bord.

    Man kann als Ergebnis einer Rechenoperation auch die Statusbits A0 und A1 auswerten. A0=1 => Ergebnis <0, somit den Vergleicher sparen..
    Gruß
    Heinz

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.260
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    @Zottel

    Stimmt, kann mich jetzt dunkel entsinnen
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  7. #7
    Registriert seit
    20.11.2004
    Ort
    Linz, OÖ
    Beiträge
    1.365
    Danke
    96
    Erhielt 177 Danke für 133 Beiträge

    Standard

    ich verwende meist trotzdem die ABS-Funktion - ist zwar etwas umständlich aber doch kompakt

    Code:
    L     MW20          // Wert, der ausgewertet werden soll &#40;-32767 bis +32767&#41;
    ITD
    DTR
    ABS
    RND
    T     MW22          // fertig ausgewertet &#40;0 bis +32767&#41;
    diese Lösung berücksichtigt allerdings nicht den Wert -32768

  8. #8
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das geht auch wohl sicher für 16-bit-Worte. Wenn du nun ein DWord hast, bekommst du spätestens bei 2hoch23 ein Problem.

Ähnliche Themen

  1. Datentyp INT ohne Vorzeichen??
    Von jtm im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 30.12.2010, 12:16
  2. DI_STRNG ohne Vorzeichen!
    Von hoT im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 11.01.2010, 23:55
  3. fehlender Teilnehmer ignorieren
    Von LM26 im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 18.11.2009, 07:45
  4. Antworten: 2
    Letzter Beitrag: 18.01.2006, 16:32
  5. Neg. Vorzeichen in E/A Feld eingeben
    Von knollmeister im Forum HMI
    Antworten: 2
    Letzter Beitrag: 07.11.2005, 13:26

Lesezeichen

Berechtigungen

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