ID: 11725
Updated by: sniper
Reported By: [EMAIL PROTECTED]
Status: Bogus
Bug Type: Math related
Operating system: 
PHP Version: 4.0.6
Assigned To: 
Comments:

Like in the #7755 was suggested, for now, use GMP functions.



Previous Comments:
---------------------------------------------------------------------------

[2001-06-27 15:14:49] [EMAIL PROTECTED]
I suppose you make ref to this:

>[2000-11-23 07:41:55] [EMAIL PROTECTED]
>  Still not working, possibly won't for some time - since PHP
>   numbers are 32-bits signed, so they don't work well as
>   32-bit unsigned.
>[2000-12-12 05:56:20] [EMAIL PROTECTED]
>   I suspend this bug since PHP has no good solution for it in
>  the foreseeable future. Please use GMP functions for this.
>[2001-05-13 05:33:17] [EMAIL PROTECTED]
>  This is not a bug, so closing.

Is there any way to work with unsigned number ?
The goal is to do things like this (in a clean way):

$timestamp = time();
$buf .= chr(($timestamp & 0xff000000) >> 24);
$buf .= chr(($timestamp & 0xff0000) >> 16);
$buf .= chr(($timestamp & 0xff00) >> 8);
$buf .= chr($timestamp & 0xff);

then compute some hash...

Do you intend to provide such a 'feature' in a future release of PHP.
I understand you do not consider this to be a 'bug', since this is part
of the design of PHP. 
But, at least it is a missing 'feature'. When one work with hex numbers 
he does no want to handle the sign (in most cases) because the goal is 
to work at the bit level and not at the 'number' level.


---------------------------------------------------------------------------

[2001-06-27 12:25:27] [EMAIL PROTECTED]
See bug #7755  for reason why this is not bug.


---------------------------------------------------------------------------

[2001-06-27 04:16:00] [EMAIL PROTECTED]

I have a problem with bitwise operator:
The following script:

<?
printf("%08x (should be 05CDEA00)<BR>", (0x05CDEA00 & 0xFFFFFFFF));
printf("%08x (should be FFFFFFFF)<BR>", (0x05CDEA00 | 0xFFFFFFFF));
?>

displays:

00000000 (should be 05CDEA00)
-7a321600 (should be FFFFFFFF)

It seems that the bitwise 'and' does not work at all, it always returns 0.
I do no understant the result of the bitwise 'or', and why it is displayed prefixed by 
a minus sign.

I have read the documentation and I think these are bugs...
I hope I have not misunderstood the doc.

Pascal.


---------------------------------------------------------------------------



ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=11725&edit=2


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to