Step 7 Problem mit DINT und SRD

bmwled

Level-1
Beiträge
55
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend zusammen,

ich möchte eine Zahl im Format DINT zwei Stellen nach rechts schieben.

Also von 984625701 -> soll 9846257 werden - sprich die 01 soll weg.

Als Zwischenspeicher habe ich mir eine temporäre Variable (#Nummer - DINT) angelegt.

Als Ergebnis erhalte ich eine ganz andere Zahl.
Das kann ich mir nicht erklären.

Kann mir jemand auf die Sprünge helfen? :)

Vielen Dank im voraus!

Grüße
 

Anhänge

  • SRD.PNG
    SRD.PNG
    4,1 KB · Aufrufe: 18
Guten Abend,

den Befehl SDR habe ich selbst noch nie benutzt, aber wenn ich mich nicht irre, werden dort die Bits im Doppelwort geschoben. Anschließend kommt dadurch eine ganz andere Zahl raus als du erwartest.

Warum teilst du nicht durch 100?


Schönen Abend noch.


Gesendet von iPhone mit Tapatalk
 
Guten Abend,

den Befehl SDR habe ich selbst noch nie benutzt, aber wenn ich mich nicht irre, werden dort die Bits im Doppelwort geschoben. Anschließend kommt dadurch eine ganz andere Zahl raus als du erwartest.

Warum teilst du nicht durch 100?


Schönen Abend noch.


Gesendet von iPhone mit Tapatalk


Oh man, die Lösung kann manchmal so einfach sein...
Danke nochmal!!
 
@TE:
nur noch mal für das Verständnis - die Lösung hast du ja nun schon ...
Der Befehl SRD bewirkt das Gleiche wie eine Division - In deinem Fall (SRD 2) eine Division durch 4. Das ist der Grund warum du nicht das erwartete Ergebnis erhalten hast. Du must bei so etwas zwischen der dezimalen Darstellung (die für dich massgeblich war) und der binären (die für die CPU hier massgeblich ist) klar unterscheiden ...

Gruß
Larry
 
Zurück
Oben