Re: Implied cast differs from explicit cast [message #176686 is a reply to message #176681] |
Tue, 17 January 2012 13:16 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 1/17/2012 12:59 AM, Arno Welzel wrote:
> Jerry Stuckle, 2012-01-16 14:45:
>
>> 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.
>
> No, 0x12 (and *not* "0x12") is the hexadecimal *representation* of the
> value 18. There is no thing like "hexadecimal value" and "0x12" is a
> *string* and not a number at all.
>
No, it is a hexadecimal value. It may be an integer, it may be a
character, it may be a set of flags... It does not have to be an integer.
> In fact PHP only knows to types of numbers: integers and floating point.
> There is no "hexadecimal" data type.
>
Excuse me - there is. See hexdec().
>> 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).
>
> Which also applies to the value 18 - this can also be the value of a
> character.
>
> Example:
>
> <?php
> $a = 0x12;
>
> print $a;
> ?>
>
> Result:
>
> Value of $a: 18, type of $a: integer
>
> So you see 0x12 *is* an integer.
>
> Of course "0x12" (including the quotes) is a string and *converting* the
> string to a number may need attention to the representation of the
> number within the string.
>
>
All it is is a representation of bits in a byte. How it is used
determines the datatype.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|