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 катит, но последний бит не получаем.
в общем я устал
Поможите люди добрые чем можете
Как и многие тут пришла моя пора получать тулбарный 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 катит, но последний бит не получаем.
в общем я устал

Поможите люди добрые чем можете