Оператор PHP <<

Что означает «Оператор» в php?

Пример:

$t = 5; $foo = 1 << ($t); echo($foo); 

echo производит: 32

спасибо

Related of "Оператор PHP <<"

Это оператор побитового сдвига . В частности, оператор сдвига слева. Он принимает левый аргумент и сдвигает двоичное представление слева на количество бит, заданных правым аргументом, например:

 1 << 2 = 4 

потому что 1 (десятичный) равен 1 (двоичный); сдвиг влево дважды делает значение 100 которое равно 4 в десятичном значении.

 1 << 5 = 32 

потому что 100000 в двоичном формате равно 32 в десятичной системе.

Правая смена (>>) делает то же самое, но направо.

«<<» – бит-сдвиг влево. Пожалуйста, просмотрите побитовые операторы PHP. http://php.net/manual/en/language.operators.bitwise.php

Более подробное объяснение:

Это означает умножение на два, потому что оно работает на двоичном уровне. Например, если у вас число 5 в двоичном

  0101 

и вы смещаете бит влево один раз (перемещайте каждый бит над одной позицией)

  1010 

то ваш результат равен 10. Работа с двоичным (справа налево) равна 2 ^ 0, 2 ^ 1, 2 ^ 2, 2 ^ 3 и т. д. Вы добавляете соответствующую мощность в два, если вы видите 1. Итак, наша математика для нашего нового результата выглядит так:

  0 + 2^1 + 0 + 2^3 0 + 2 + 0 + 8 = 10 

Удачи!
Деннис М.

Это оператор двоичного сдвига:

http://php.net/manual/en/language.operators.bitwise.php

<< Побитовый сдвиг влево. Эта операция сдвигает биты левого операнда влево на несколько позиций, равных правильному операнду, вставляя неустановленные биты в сдвинутые позиции.

>> Побитовый сдвиг вправо. Эта операция сдвигает биты левого операнда вправо на несколько позиций, равных правильному операнду, вставляя беспорядочные биты в сдвинутые позиции.

ПРИМЕЧАНИЕ. Интересно также отметить, что эти два варианта обеспечивают простой (и очень быстрый) способ умножения / деления целых чисел на две. Например: 1 << 5 даст 32 в результате …….

Легкий трюк, чтобы получить результат операции сдвига влево, например

15 << 2 = 15 * (2 * 2) = 60

15 << 3 = 15 * (2 * 2 * 2) = 120

15 << 5 = 15 * (2 * 2 * 2 * 2 * 2) = 480

и так далее..

Так что это:

(число слева), умноженное на (число справа) раз 2.

То же самое касается оператора сдвига справа (>>), где:

(число слева), деленное на (число справа) раз 2