HEX-Wert zu DEC-Wert mit Vorzeichen

  • Ich habe hier eine Modbus-Kommunikation über TCP-IP und einen ziemlichen Knoten in meinen Gehirngängen :(

    Meine Werte die ich vom Controller erhalte sind als Hex-String...
    Sämtliche Werte die größer wie hexadezimal 0000 (positive Werte), gewandelt in dezimal bekomme ich korrekt angezeigt. Sobald aber die Werte kleiner wie dezimal 0 sind (also negative Werte) bekomme ich das Ergebnis als "unsigned Integer".

    Bsp.: Hex: FFFC entspricht DEC: -4 , bekomme aber nur "65532" angezeigt. Meiner Meinung nach ein Integer-Wert ohne Vorzeichen.

    Wie kann ich diesen Hex-Wert/String als Dezimal-Wert mit Vorzeichen ausgeben lassen?

    Einmal editiert, zuletzt von Flitzpiepe84 (30. Januar 2014 um 10:24)

  • toll, so kurz der Weg zur Lösung. Und ich hab mir bald halb Google durchsucht und nix vernünftiges gefunden :(

    Schade nur das es für Integer mit Vorzeichen keine entsprechende Deklaration bzw. Funktion gibt. Oder hab ich sie bisher nicht gefunden?

    Ich kenn es bisher aus WinCC Flex und Konsorten, dass ich da für die ankommenden und ausgehenden "Variablen-Werte" meine entsprechenden Formate (auch eventuelle Vorzeichen) deklarieren kann. Aber dort ist ja auch fast alles mit Drag&Drop und Point&Klick...

  • ich glaub da muss ich wohl ganz straff umdenken, bin da doch etwas verwöhnt mit solchen kleinen "Extras". Werd mir wohl mal ein kleines Nachschlage-Werk machen müssen mit solchen Dingen, nicht das ich dann mal wieder was vergesse :rolleyes:

    Jedenfalls Danke. Der Codeschnippsel, hat gepasst wie die Faust aufs Auge. :thumbup: