powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Сравнение огромных чисел (bigint)
14 сообщений из 14, страница 1 из 1
[PHP] Сравнение огромных чисел (bigint)
    #38171651
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Код: php
1.
2.
3.
4.
$a = 9223372036854775806;
$b = 9223372036854775807;
if($b > $a) echo 'b > a';
else echo 'b <= a';



Я взял максимально допустимое значение типа bigint БД, а второе - на единицу меньше и попробовал сравнить. Код вывел
Код: php
1.
b <= a

.

1. Почему?
2. Как правильно (и можно ли вообще) сравнивать такие числа? Если нет, то как быть? :)

Заранее спасибо!
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38171652
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эммм... 32-битная ОСь?
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38171653
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку примеры 3 и 4
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38171695
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за примеры.
Ось, да, 32 битная. Судя из того, что написано в примерах, я превысил максимальное значение типа INT, поэтому оно преобразовалось во FLOAT, а сравнивать FLOAT - это зло :) Я вообще на этот раз обойдусь простым интом, но все же интересно, что делать если понадобится BOGINT? Определять константу PHP_INT_MAX с нужным значением?
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38171709
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhayОпределять константу PHP_INT_MAX с нужным значением?Увы, определили до Вас.
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38171711
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhayЯ взял максимально допустимое значение типа bigint БДurukhayчто делать если понадобится BOGINT?Если используемая СУБД умеет оперировать такими числами, можно ее попытаться использовать для этой цели. Однако, возможно, много проще будет использовать 64-битную ОС.
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38171727
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
либо поставить модуль для работы с большими числами
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38171858
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сама ось тут какое значение имеет? Сам пхп 32-х битный и на 64 битной оси будет работать так же.
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38171874
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторОднако, возможно, много проще будет использовать 64-битную ОС
Вообще-то, ради одного случая ставить ОСь, как-то странно на мой взгляд :)
авторЕсли используемая СУБД умеет оперировать такими числами, можно ее попытаться использовать для этой цели.
СУБД умеет оперировать такими числами, но работа с ними должна осуществляться именно в пхп.
авторлибо поставить модуль для работы с большими числами
А не подскажете, что за модуль такой?
авторСама ось тут какое значение имеет? Сам пхп 32-х битный и на 64 битной оси будет работать так же.
Очень врядли, что ради одной задачи я буду ставить новую ось :) Хотелось бы решить задачу какими-то другими способами.
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38172060
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettСам пхп 32-х битный и на 64 битной оси будет работать так же.Значит, мануалы нагло врут, а тест этого примера на 64-битке подтасовывает факты? ;-)
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38172061
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЗначит, мануалы нагло врут, а тест этого примера на 64-битке подтасовывает факты? ;-)
php работает так же. просто тип int там системозависимый.
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38172063
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhayавторОднако, возможно, много проще будет использовать 64-битную ОС
Вообще-то, ради одного случая ставить ОСь, как-то странно на мой взгляд :)Мне кажется странным другое. Нынче 64-битная архитектура сплошь и рядом, так чего ради упираться в 32-бита... Вот это странно.


urukhayавторлибо поставить модуль для работы с большими числами
А не подскажете, что за модуль такой?Смотрите, что больше подойдет под Вашу задачу: тынц и тынц
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38172251
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, буду изучать.
...
Рейтинг: 0 / 0
[PHP] Сравнение огромных чисел (bigint)
    #38172316
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleHettСам пхп 32-х битный и на 64 битной оси будет работать так же.Значит, мануалы нагло врут, а тест этого примера на 64-битке подтасовывает факты? ;-)
Да, вычитал уже, что FLOAT зависит от ОС, но только у меня эти числа все равно не влезли.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Сравнение огромных чисел (bigint)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]