Неприятные последствия при переходе с 32-х битной на 64-х битную
- 21.02.12, 08:47
Результат работы следующего кода:
?>
Данная особенность связана с тем, что в PHP внутренним представлением целого числа является long, который соответственно на 32х битных системах является 4х байтовым, а на 64х битных 8-ми байтовым. Проблема выплывает из-за того что при выводе данных php использует шаблон вывода "%ld", а знаковым считается 32-й или 64-й бит в зависимости от битности сборки PHP.
Пути решения проблемы:
1) Выставить знаковый бит:
$crc -= 2<<31;
3) Использовать 32-х битную версию PHP.
Коментарі
Гість: Re@der! c@m
121.02.12, 08:54
непонятно-на одном и том же компе сначала была 32 бит ОС,
сейчас 64-всё ОК,ни каких проблем.
Draal
221.02.12, 09:00Відповідь на 1 від Гість: Re@der! c@m
Проблема связана именно с особенностями PHP
gav5713
321.02.12, 09:01
Ты думаешь тут многие поймут о чем вообще речь? + за волю к победе
анонім
421.02.12, 09:24Відповідь на 3 від gav5713
я , лично, не понял
Гість: Re@der! c@m
521.02.12, 09:30Відповідь на 4 від анонім
gav5713
621.02.12, 09:32Відповідь на 4 від анонім
Значит - нормальный. Среди пишущих програмеров много людей странных.
Сам был таким.
Спассся посредством пьянства!
анонім
721.02.12, 09:34Відповідь на 5 від Гість: Re@der! c@m
вот если мне автор рассказал полное ТТХ нового образца АК для МП, или кумулятивного выстрела образца 2010 -го года, я бы понял
анонім
821.02.12, 09:34Відповідь на 6 від gav5713
Max_TAG
921.02.12, 09:51Відповідь на 1 від Гість: Re@der! c@m
это относится к программной среде Php (язык программирования) мол на процах с интрукциями 64х выходит лажа в ихнем космосе)))
Geen
1021.02.12, 09:55Відповідь на 3 від gav5713
ну, кому нужно - поймут