Announcement

Collapse
No announcement yet.

kurze frage zum >> operator

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • kurze frage zum >> operator

    hallo,

    habe gerade folgendes problem. ich muss meinen integer in ein byte aaray copieren und verwende dafür den shift operator >>.

    wenn in meiner variable 0xffffffff drin steht (entspricht -1) sollte doch nach der zeile

    ToConvert = ToConvert >> 8;

    nur noch 0x00ffffff drin stehen oder?

    aber irgend wie bleibt die zahl un verändert.

    mfg
    Zebes

  • #2
    Aus der Hilfe zu >>
    If the first operand is an int or long, the right-shift is an arithmetic shift (high-order empty bits are set to the sign bit).
    Du shiftest dir also weitere 1'en in den integer.
    Wenn du das nicht willlst mußt du explizit einen unsigned Datentyp nehmen.

    Comment


    • #3
      oh danke das wußte ich nicht.

      ich kann leider keinen unsigned verwenden da ich den signed integer halt codieren muß im 2er komplement. ich mache es nun so das ich das erste byte copiere dann ein byte nach rechts shifte und dann das höchste byte einfach ausmaskiere, das schient ganz gut zu funktionieren.

      bestimmt macht das irgend wann anders wieder probleme.

      mfg
      Zebes

      Comment

      Working...
      X