Re: Implied cast differs from explicit cast [message #176673 is a reply to message #176672] |
Mon, 16 January 2012 13:45 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 1/16/2012 8:28 AM, The Natural Philosopher wrote:
> 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.
>
> Looks like Jerry doesn't know what an integer is either.
>
> A hex number of course *is* an integer, unless its a hex representation
> of floating point.
>
> Killfile the prat like I have.
>
>
0x12 is not an integer. It is a hexadecimal value.
It can have the same bit pattern as an integer - but it can also have
the same bit pattern as a character (Ctrl-R, to be exact).
>>
>> 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'?
>
> Don't expect Jerry to have a clue
>
> because its either an integer number or a non numeric string?
>
> I have given up trying to second guess PHP in casting.
>
> One keeps things very simple as with a 2 year old (or jerry) when using
> PHP.
>
> It can understand 18
>
> It can understand 'eighteeen'
>
> Lord knows what it does with '18'
>
>
> As for 0x12...man, you are pushing the boat out, there.
>
> Stop expecting PHP to be more than it is, a quick hack that writes good
> web pages faster than almost anything else.
>
> If you want a language that has a rule set and sticks to it rigidly,
> that's C.
>
You're mixing C/C++ and PHP. They are not the same language.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|