Bestimmtes Bit im Hex-Wert auf 1 setzten

  • Hallo,

    ich möchte in einem Hex-Wert das 8. Bit von Rechts auf 1 setzten.
    Hab's mit BitOr versucht, aber ohne Erfolg.
    Z.B. sollte aus "0x563" "0x5e3" werden

    Code
    $ohne = StringToBinary("0x563")
    $mask = StringToBinary("0x80")
    $res = StringToBinary(BitOR($ohne, $mask))
    MsgBox(4096, "Result", BinaryToString($res))

    Wo liegt der Fehler?

    Danke,
    Michael

  • Warum StringToBinary?

    AutoIt
    $a = 0x563 	; 				0x563 = 1379 = 10101100011
    $b = 0x80	; 				0x80 = 128 =      10000000
    $res = BitOR($a, $b) ; -> 	0x5E3 = 1507 = 10111100011
    MsgBox(4096, "Result", Int($res))

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Habe kurz 2 Funktionen zusammengebastelt. Sie sind nur kurz getestet, es sollte vllt nochmal jemand drüberschauen. Nach meiner Einschätzung tun sie genau was du willst.

    lg
    M