Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: На сервере не правильно обрабатываются по битовые операции
Вот следующий код работает правильно и в результате я получаю
int(-44510336)
но на сервере тот же самый код пишет
int(4250456960)
Кто нить может что нить подсказать где рыть хоть, я с этими побайтовыми операциями раньше ни когда не сталкивался.
Мелкий
Отправлено: 25 Апреля, 2013 - 15:08:25
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Сервер 64-битный.
----- PostgreSQL DBA
EuGen
Отправлено: 25 Апреля, 2013 - 15:11:35
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
На 64-битных системах, согласно мануалу, стандартные битовые операции могут быть неприменимы. Впрочем, можно использовать BC Math для обхода ограничений целочисленного типа.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Telnet
Отправлено: 25 Апреля, 2013 - 15:31:39
Частый гость
Покинул форум
Сообщений всего: 223
Дата рег-ции: Май 2011
Помог: 1 раз(а)
System Linux mysite.ru 2.6.18-274.el5 #1 SMP Fri Jul 22 04:43:29 EDT 2011 x86_64
вот так написано что это значит 64 битный?
EuGen
Отправлено: 25 Апреля, 2013 - 15:34:08
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Telnet пишет:
x86_64
Да.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Мелкий
Отправлено: 25 Апреля, 2013 - 15:36:22
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Telnet пишет:
что это значит 64 битный?
x86_64
В частности, стандартный int занимает не 32, а 64 бита. Соответственно, побитовые сдвиги отличаются от 32-битных систем.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.