FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Implied cast differs from explicit cast
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Implied cast differs from explicit cast [message #176674 is a reply to message #176671] Mon, 16 January 2012 18:51 Go to previous messageGo to previous message
M. Strobel is currently offline  M. Strobel
Messages: 386
Registered: December 2011
Karma:
Senior Member
Am 16.01.2012 14:25, schrieb Jerry Stuckle:
> On 1/16/2012 2:42 AM, Arno Welzel wrote:
>> Jerry Stuckle, 2012-01-16 04:39:
>>
>>> On 1/15/2012 10:08 PM, lb wrote:
>>>> jstucklex(at)attglobal(dot)net wrote:
>>>> > ...
>>>> > No, it is not. '0x12' is a hex number, not an integer. (int)'0x12'
>>>> > converts this correctly to 0.
>>>>
>>>> OK, but if (int)'0x12' is 0, why is '0x12'+0 == 18?
>>>>
>>>> Why are they different? Aren't they both doing 'string conversion to
>>>> number'?
>>>
>>> As I said - '0x12' is a hex value, not an integer. You are trying to
>>> convert it as if it were a string representation of an integer. The
>>> implicit conversion recognizes it is a hex value and uses the
>>> appropriate conversion.
>>
>> There is no difference between "hex value" and "integer" - both 0x12 and
>> 18 are just different representations of the same value. The problem is
>> that the explizit cast from string to int does not take this into account.
>>
--cut
>>
>
> In C/C++ there is no difference. However, in PHP there is. The 'x' is not a valid
> decimal character, so (int) '0x12' returns 0.
>
> The correct function to use when converting hexadecimal strings is hexdec().

The last two sentences sound correct to me, so far. Looks like you are trying to
think like PHP.

But this does not make things better here, because PHP (the Zend T_INT_CAST) is just
half-witted here.

/Str.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Open Source Development
Next Topic: error from phpadmin
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Sun Dec 01 04:03:07 GMT 2024

Total time taken to generate the page: 0.04737 seconds