Битовые операции

Димон

Новичок
Битовые операции

Кто-нить пользуется в работе с пыхом битовыми операциями?

Мне пока доводилось применять толко одну:
PHP:
if(5 & 1)
    echo "Нечетное число"; // Проверка установки первого бита. Он установлен только у нечетных чисел
 

Gas

может по одной?
редко для инверсии 0 в 1 и наоборот: 0 ^ 1, 1 ^ 1
 

Димон

Новичок
Автор оригинала: vovanium
Юзаю для прав доступа, и различных опций
Примерчика не хватает...

Вот еще:
Меням $а на $b без третьей переменной
PHP:
$a = 2; $b = 3;
$a ^= $b ^= $a ^= $b;
echo "a = $a, b = $b";   // a = 3, b = 2
 

Духовность™

Продвинутый новичок
а ядо сих пор не научился сбитовыми операциями работать :(
надо было учиться в технаре в свое время )
 

Димон

Новичок
PHP:
define('SIZE_OF_INT', 4);
define('CHAR_BIT', 8);

// Определение знака переменной
$v = 5;
$res = 1 | ($v >> SIZE_OF_INT * CHAR_BIT - 1);
echo $res;  // -1 или +1

// Получение модуля (беззнаковой части)
$v = -5;
$mask = $v >> SIZE_OF_INT * CHAR_BIT - 1;
$res = ($v + $mask) ^ $mask;
echo $res;  // 5

// Минимальное из двух чисел
$x = 2; $y = 5;
$res = $y + (($x - $y) & - ($x < $y));
echo $res;  // 2

// Максимальное из двух чисел
$x = 2; $y = 5;
$res = $x - (($x - $y) & - ($x < $y));
echo $res;  // 5
П.С. Тока не надо приводить аналоги пых-функций. Все их и так знают.
 

Духовность™

Продвинутый новичок
научите меня пользоваться этими операциями бытовым, а? Ну пажалуйстаааааааааааа
 

Димон

Новичок
Автор оригинала: triumvirat
научите меня пользоваться этими операциями бытовым, а? Ну пажалуйстаааааааааааа
Здесь почитай http://www.lauc.ru/zzz/users/stasandr/posobia/bitOper.htm

На пыхе они вряд ли понадобятся. Это сишникам, ассемблёрам они нужны. Пыховцы стОят выше этого. :)
Хотя понимание этого тоже не помешает.
 
Сверху