Побитовые операторы

vg2k

Новичок
Побитовые операторы

Ссылка по теме, что смог нарыть, только дальше тупик(не соображаю уж ниче): http://php.rinet.ru/manual/ru/language.operators.bitwise.php


пример из вышеприведенного линка кажись понял, как получается.
PHP:
echo 12 ^ 9; // Выведет '5'
12 в десятичной => 1100 в двоичной.
9 в десятичной => 1001 в двоичной.

Итого(если, считать как логическое ИЛИ^ исключающее):
1100
1001
-------
0101 = ответ (5 в десятичной)


Вот только как это может помочь в решением проблемы больших значение в пхп 4....



вот моя проба:
PHP:
<?
$v = 3;
$a = $v^(2);
echo $a.'<br>';


$v = -4738698913;
$a = $v^(43814);
echo $a.'<br>';


echo phpinfo();
?>
первый мой тест, то же согласно моим рассуждениям пашет, а вот второй с большими значениями ни-ни.. Во втором на пхп 5.1.2 возвращает -443704711, а на пхп 4.4.3 возвращает -2147439834 .... почему интересно и как это побороть ?

Причем уж только сейчас обратил внимане, второй вариант глючит только при отрицательном значении... хм...
 
Сверху