ID:               32434
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Feedback
 Bug Type:         Variables related
 Operating System: Windows XP
 PHP Version:      4.3.10
 New Comment:

Why are you doing things like this?


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

[2005-03-23 21:11:07] [EMAIL PROTECTED]

Description:
------------
When multiplying two float, the truncated result is not correct.

Reproduce code:
---------------
<?php
$v1 = (float)0x5a05df1b;
$v2 = (float)0x2d02ef8d;

echo 'v1='.sprintf("0x%X (%d)", $v1, $v1).'<br>';
echo 'v2='.sprintf("0x%X (%d)", $v2, $v2).'<br>';
(float)$v3=(float)$v1*(float)$v2;
echo 'v1*v2='.sprintf("0x%X (%d)", (float)$v3, (float)$v3).'<br>';

// Actual result is :
//   v1=0x5A05DF1B (1510334235)
//   v2=0x2D02EF8D (755167117)
//   v1*v2=0x8DBC1700 (-1917053184)
//
// Result should be : 0xFD410808DBC16DF
// Truncated should be : 0x8DBC16DF

?>

Expected result:
----------------
Result should be : 0xFD410808DBC16DF, because variable is a float,
result should be truncated like that :
0x8DBC16DF

Actual result:
--------------
v1*v2=0x8DBC1700 (-1917053184)


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


-- 
Edit this bug report at http://bugs.php.net/?id=32434&edit=1

Reply via email to