есть ли разница для математики PHP4 и PHP5

Nikola_N

Новичок
есть ли разница для математики PHP4 и PHP5

Есть скрипт по определению Google PR.
На сервере с php4 работает нормально, поставил на сервер с php5 - болт.
Не верно считает контрольную сумму.
 

BeGe

Вождь Апачей, блин (c)
А если серйозно Yung уже поднмал эту тему...
и считает оно по разному...
Фанат - а тебе не мешало бы пойти попрограмить что ли... опыта набратся.
 

Nikola_N

Новичок
Автор оригинала: BeGe
А если серйозно Yung уже поднмал эту тему...
и считает оно по разному...
Фанат - а тебе не мешало бы пойти попрограмить что ли... опыта набратся.
ага нашел его топик , спасибо ... попробую с ним пообщаться.
http://phpclub.ru/talk/showthread.php?threadid=79824
http://phpclub.ru/talk/showthread.php?threadid=79849

>>Фанат - а тебе не мешало бы пойти попрограмить что ли... опыта набратся.
+1


И не понятно по какой причине топик снесли в раздел PHP & ЮМОР :) , хоть прокомментировал бы модератор, что тут смешного.
 

si

Administrator
может код кривой ?

-~{}~ 14.03.06 13:59:

да, неплохо бы все-таки увидеть этот код (строк 10-20 не больше)
 

Nikola_N

Новичок
Автор оригинала: si
может код кривой ?

-~{}~ 14.03.06 13:59:

да, неплохо бы все-таки увидеть этот код (строк 10-20 не больше)
вот кусок кода.
для наглядности выводим 3 переменные до и после обработки
пробовать на php4 и на php5

PHP:
<?
function zeroFill($a, $b) {
    $z = hexdec(80000000);
    if ($z & $a) {
        $a = ($a>>1);
        $a &= (~$z);
        $a |= 0x40000000;
        $a = ($a>>($b-1));
    } else {
        $a = ($a>>$b);
    }
    return $a;
} 

function mix($a,$b,$c) {
echo $a." ".$b." ".$c;
    $a -= $b; $a -= $c; $a ^= (zeroFill($c,13)); 
    $b -= $c; $b -= $a; $b ^= ($a<<8); 
    $c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
    $a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
    $b -= $c; $b -= $a; $b ^= ($a<<16);
    $c -= $a; $c -= $b; $c ^= (zeroFill($b,5)); 
    $a -= $b; $a -= $c; $a ^= (zeroFill($c,3)); 
    $b -= $c; $b -= $a; $b ^= ($a<<10); 
    $c -= $a; $c -= $b; $c ^= (zeroFill($b,15));
echo"<hr>";
echo $a." ".$b." ".$c;
    return array($a,$b,$c);
}


mix(4523419682,4608221683,4653896912);
?>
 

tony2001

TeaM PHPClub
4.4:
string(32) "4523419682 4608221683 4653896912"
string(30) "-790567943 75097448 1822589421"
5.1:
string(32) "4523419682 4608221683 4653896912"
string(30) "-790567943 75097448 1822589421"


??

-~{}~ 14.03.06 15:28:

4.3.10:
string(32) "4523419682 4608221683 4653896912"
string(30) "-790567943 75097448 1822589421"

5.0.5:
string(32) "4523419682 4608221683 4653896912"
string(30) "-790567943 75097448 1822589421"
 

Nikola_N

Новичок
Автор оригинала: tony2001
4.4:
string(32) "4523419682 4608221683 4653896912"
string(30) "-790567943 75097448 1822589421"
5.1:
string(32) "4523419682 4608221683 4653896912"
string(30) "-790567943 75097448 1822589421"


??

-~{}~ 14.03.06 15:28:

4.3.10:
string(32) "4523419682 4608221683 4653896912"
string(30) "-790567943 75097448 1822589421"

5.0.5:
string(32) "4523419682 4608221683 4653896912"
string(30) "-790567943 75097448 1822589421"
да оба варианта у вас правильно отработали.
но у меня на PHP Version 5.1.2 вот какой результат:
4523419682 4608221683 4653896912
--------------------------------------------------------------------------------
-330535489 -1818063735 -2099786221

может криво поставлен.
 

tony2001

TeaM PHPClub
>где это можно посмотреть ?
спросить у сисадмина.
под линуксом инфо о процессоре находится в /proc/cpuinfo, где это на фре - не помню.
 

Sizz

Новичок
5.1.2 FreeBSD 5.4-STABLE i386:
4523419682 4608221683 4653896912
-790567943 75097448 1822589421

5.1.2 FreeBSD 6.0-RELEASE-p4 i386:
4523419682 4608221683 4653896912
-330535489 -1818063735 -2099786221
 

SiMM

Новичок
> где это можно посмотреть ?
Надо полагать, что можно так
PHP:
<?php echo (0x7FFFFFFF<<1) > 0 ? 64 : 32?>
Добавлено:
PHP:
<?php echo PHP_INT_SIZE?>
[m]language.types.integer[/m]
 

Nikola_N

Новичок
Автор оригинала: Sizz
5.1.2 FreeBSD 5.4-STABLE i386:
4523419682 4608221683 4653896912
-790567943 75097448 1822589421

5.1.2 FreeBSD 6.0-RELEASE-p4 i386:
4523419682 4608221683 4653896912
-330535489 -1818063735 -2099786221
ВОТ ТОЖЕ САМОЕ, ЧТО И У МЕНЯ .. интересно узнать мнения гуру :confused:

ноги растут от оськи ? на FreeBSD 6.х ,похоже, такие глюки..

-~{}~ 14.03.06 22:00:

Автор оригинала: SiMM
> где это можно посмотреть ?
Надо полагать, что можно так
PHP:
<?php echo (0x7FFFFFFF<<1) > 0 ? 64 : 32?>
сильно :) , ответ 32

КСТАТИ МОДЕРАТОРЫ, может восстановите тему?... помоему не заслуженно её в юмор перенесли :)
 

neko

tеam neko
напишите какой-нибудь код покороче, который воспроизводит проблему.
 
Сверху