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 :: Работа с числами более 0x7FFFFFFF
Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013 Откуда: Ставропольский край
Помог: 10 раз(а)
[+]
Всем привет.
Вот на какой косяк я наткнулся сейчас.
Есть к примеру в базе таблица "integer" с одним единственным полем: "id" - INT(10) UNSIGNED
записал я в это поле значение более 0x7FFFFFFF, дальше попытался выбрать это значение в скрипте.
уж такого я никак не ожидал (Добавление)
Ну что, всем спасибо, особенно teddy
Просто я писал функцию шифрования чисел в буквенную строку. В теле функции много побитовых операций, и вот столкнулся с траблом больших чисел.
Всегда старался переменные явно приводить к числам, перед тем как совершать с ними мат.операции, но тут вот оно как...
PHP странный язык...
----- ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
OrmaJever
Отправлено: 23 Ноября, 2013 - 17:37:32
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Hapson double имеет большие граничные значения, но это если не 32 битная версия.
Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013 Откуда: Ставропольский край
Помог: 10 раз(а)
[+]
блин все равно лажа...
Сдвиг на строке работает, а XOR нет.
----- ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
OrmaJever
Отправлено: 23 Ноября, 2013 - 20:13:11
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Hapson пишет:
вот если бы не если...
чисто теоретически на многих хостингах стоит 64 битный линукс, ну и для тестов я не думаю что большая проблема поставить вин64. (Добавление)
caballero пишет:
и от разрядности системмы это не зависит
а исключительно он компилятрора
Я очень рад, но увы компилятор php в 32 битной версии не имеет 8 байтового типа. (хотя это в винде, возможно в 32 битном линуксе double 8 байт)
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Hapson
Отправлено: 24 Ноября, 2013 - 16:16:58
Посетитель
Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013 Откуда: Ставропольский край
Помог: 10 раз(а)
[+]
OrmaJever пишет:
чисто теоретически на многих хостингах стоит 64 битный линукс, ну и для тестов я не думаю что большая проблема поставить вин64.
Код должен быть кроссплатформенным, 32 битные системы еще не скоро вымрут (Добавление)
собственно работать с числами до 0xFFFFFFFF включительно можно, но не нужно, так как это костыли.
Для примера можете попробовать, кому интересно
----- ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
OrmaJever
Отправлено: 24 Ноября, 2013 - 16:22:50
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Почему же? Уже наверное все процессоры поддерживают 64 битную архитекуру, с операционными системами тоже проблем нет, софта тоже куча.
Лично в моих глазах 32 бита уже вымерли, не вижу в них преймуществ.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
DelphinPRO
Отправлено: 24 Ноября, 2013 - 16:35:56
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
OrmaJever пишет:
Почему же? Уже наверное все процессоры поддерживают 64 битную архитекуру
у меня 64 битная Win8
Но ввиду того что сам пых - з2 битный - работа с большими числами осложнена.
Н хостинге, конечно проблем нет, но начальная разработка все же ведется локально под виндой
----- Чем больше узнаю, тем больше я не знаю.
OrmaJever
Отправлено: 24 Ноября, 2013 - 16:40:13
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
DelphinPRO пишет:
Но ввиду того что сам пых - з2 битный
ну да, ведь скачать 64 битный это проблема
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
DelphinPRO
Отправлено: 24 Ноября, 2013 - 18:00:47
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.