|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2014-12-13 08:31 UTC] requinix@php.net
-Status: Open
+Status: Not a bug
-Package: Compile Failure
+Package: *General Issues
[2014-12-13 08:31 UTC] requinix@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2026 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 07 19:00:01 2026 UTC |
Description: ------------ <?php echo "SHIFT LEFT DO NOT WORKS RIGHT FOR NEGATIV NUMBER -1, BUT WORKS FOR OTHER NUMBERS<br><br>"; $format = '%0' . 32 . "b<br>"; $val = -1; echo "<br> WRONG FOR -1<br>"; printf(" val = %d String: %s = %d %s %d<br>", $val, 'res', $val, '<<', 32); $val = $val << 32; printf(' val = ' . $format, $val); echo "<br> IT MUST BE <br>"; printf('..... = ' . $format, 0); echo "<br><br><br>FOR OTHER NUMBERS IT WORKS CORRECT:"; printf("<br><br> val = %d String: %s = %d %s %d<br>", $val, 'res', $val, '<<', 1); $val = $val << 1; printf(' val = ' . $format, $val); printf("<br><br> val = %d String: %s = %d %s %d<br>", $val, 'res', $val, '<<', 31); $val = $val << 31; printf(' val = ' . $format, $val); ?> Test script: --------------- <?php echo "SHIFT LEFT DO NOT WORKS RIGHT FOR NEGATIV NUMBER -1, BUT WORKS FOR OTHER NUMBERS<br><br>"; $format = '%0' . 32 . "b<br>"; $val = -1; echo "<br> WRONG FOR -1<br>"; printf(" val = %d String: %s = %d %s %d<br>", $val, 'res', $val, '<<', 32); $val = $val << 32; printf(' val = ' . $format, $val); echo "<br> IT MUST BE <br>"; printf('..... = ' . $format, 0); echo "<br><br><br>FOR OTHER NUMBERS IT WORKS CORRECT:"; printf("<br><br> val = %d String: %s = %d %s %d<br>", $val, 'res', $val, '<<', 1); $val = $val << 1; printf(' val = ' . $format, $val); printf("<br><br> val = %d String: %s = %d %s %d<br>", $val, 'res', $val, '<<', 31); $val = $val << 31; printf(' val = ' . $format, $val); ?>