Покинул форум
Сообщений всего: 455
Дата рег-ции: Март 2011
Помог: 3 раз(а)
Здравствуйте.Что обозначает выражение $a >>= 5; в php?
----- $i = 0;
$i = $i++ + ++$i; ?
EuGen
Отправлено: 13 Мая, 2013 - 19:35:23
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Эквивалент $a = $a >> 5; Оператор >> - это побитовый сдвиг вправо на 5 разрядов. Сдвиг вправо на 1 разряд - это деление на 2, а на 5 разрядов - это деление на 2^5, то есть 32. Таким образом, а примет значение, "поделённое" на 32. "Поделённое" - потому что $a не обязано иметь целочисленный тип, при этом её представление в двоичном виде будет сдвинуто на 5 разрядов вправо и сама $a примет значение, которое будет интерпретировано в зависимости от её типа.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
jonston
Отправлено: 13 Мая, 2013 - 20:12:46
Посетитель
Покинул форум
Сообщений всего: 455
Дата рег-ции: Март 2011
Помог: 3 раз(а)
EuGen пишет:
Эквивалент $a = $a >> 5; Оператор >> - это побитовый сдвиг вправо на 5 разрядов. Сдвиг вправо на 1 разряд - это деление на 2, а на 5 разрядов - это деление на 2^5, то есть 32. Таким образом, а примет значение, "поделённое" на 32. "Поделённое" - потому что $a не обязано иметь целочисленный тип, при этом её представление в двоичном виде будет сдвинуто на 5 разрядов вправо и сама $a примет значение, которое будет интерпретировано в зависимости от её типа.
Спасибо!А можно пример?
----- $i = 0;
$i = $i++ + ++$i; ?
OrmaJever
Отправлено: 13 Мая, 2013 - 20:15:37
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.