И всеже.. большие числа.

Статус
В этой теме нельзя размещать новые ответы.

Kashey

Новичок
И всеже.. большие числа.

Как и многие тут пришла моя пора получать тулбарный googlePR
И как и многие я столкнулся с проблемой "больших" чисел.
Искал искал решение проблемы.. кроме gmp вариантов не обнаружил, кроме одного - кто-то гдето упоминал что такие вот проблемы - они связаны с настройками хостинга.
Но я опять же ничего конкретного ( чего ставить\чего править ) не нашол.

На локальной машине все работает. Винды, пхп любой
На сервере( кокойто никс). Не работет, пхп тоже любой.

Под "любой пхп" значит что пробовались и старые версии php5 и накатывались более новые..

для нет кто не в танке, и знает ответ - далее можно не читать

ps:для тех кто в танке, опишу проблему еще раз.

Как известно в пхп числа unsigned. На 32 битных системах макс значение 7FFFFFFF или два милиарда с хреном.
Наличие 31бита ( или 0x80000000 ) определяет число как отрицательное..
И в итоге при бинарный операциях
1.у меня на виндах происходит нормальная бинарная операция
2.ни никсах наличие 0x80000000 при попытке бинарной операции преврашает аргумент в 0x80000000.
в bin\hex превратить нельзя( опять же ->0x80..)
ручками в bin тоже не переводиться, результаты ручного перевода и decbin(на виндах) разнаться странным образом( потому что пробуем "забинарить" флоат)
Пробовал бить ручками на старший и младший ворды и xorить попарно.
но если
$hi=intVal($value/0xFFFF)&0xFFFF;
работает ( $value>>16 НЕ работает (опять же ->0x80...)
то младший уже не получить
те
$value$0xFFFF не катит
$value-$hi*0xFFFF не катит
($value/2)&0xFFF катит, но последний бит не получаем.

в общем я устал :(
Поможите люди добрые чем можете
 

Фанат

oncle terrible
Команда форума
Тема закрыта. Учитесь пользоваться поиском.

Прежде чем задавать вопрос - используйте поиск по форуму и FAQ:
На нахождение готового ответа на свой вопрос Вы потратите меньше своего и чужого времени, чем на создание новой темы.

Поиск по форуму

http://phpclub.ru/faq/
http://phpclub.ru/detail/
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху