in reply to Re: Hex Question(s)
in thread Hex Question(s)

No, that's converting a hex value to an integer. That's not what I'm trying to do - I'm actually doing the opposite: I'm converting an integer to hex but Perl doesn't appear to be treating the resulting string as hex.

Put it this way.

print 0x1234+0x4321; # returns 21605 print '0x1234'+'0x1234'; returns 0 because you can't concatenate strin +gs in this way

Replies are listed 'Best First'.
Re^3: Hex Question(s)
by Fletch (Bishop) on Mar 27, 2008 at 16:49 UTC

    No, Perl's treating it like any other hex string in that it's not a valid number. Perl understands hex numeric literals, but they're silently converted to decimal under the hood. If you want to do manipulation of numbers then you need to use hex to parse the number to decimal and then only reformat as hex on the way out after you're done manipulating it.

    Update: Ooh, better said here up above.

    The cake is a lie.
    The cake is a lie.
    The cake is a lie.

Re^3: Hex Question(s)
by alexm (Chaplain) on Mar 27, 2008 at 17:01 UTC
    Are you sure that hex isn't what you're looking for?
    perl -le "print hex('1234') + hex('4321')" 21845 perl -le "print hex('0x1234') + hex('0x4321')" 21845