Подтвердить что ты не робот

Что такое & in return ($ var & 1) в PHP

Возможный дубликат:
Ссылка - что означает этот символ в PHP?

Когда я читал эту страницу php, я не был уверен, что и делает в $var и 1.

function odd($var)
{
    // returns whether the input integer is odd
    return($var & 1);
}

Это возврат ссылки? Я не уверен.

Если вы можете объяснить это или направить мне php-страницу, я буду признателен.

Спасибо заранее.

4b9b3361

Ответ 1

Это побитовая операция. Все нечетные числа имеют LSB (младший значащий бит, установленный в 1), четные числа - 0.

Итак, это просто "ANDs" два числа вместе. Например, 5. Он представлен как 101 в двоичном формате. 101 и 001 = 001 = > true, поэтому он нечетный.

Ответ 2

Выполняется побитовое ANDing. Это побитовый оператор

$a и $b Устанавливаются биты, заданные как в $a, так и в $b.


В этом случае return($var & 1); будет выполнять побитовое И против 0000....0001 возвращение 1 или 0 в зависимости от последний бит $var.

Если двоичное представление числа заканчивается на 0, оно равно (в десятичная дробь).

Если двоичное представление числа заканчивается на 1, оно нечетное (в десятичной форме).