Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

#7 - Операторы сдвига.


Количество подписчиков 131

Выпуск 7. Операторы сдвига

Здравствуйте, дорогие читатели!

Продолжаем тему операций в Java. Сегодня мы рассмотрим операторы сдвига и нюансы их работы.

В Java есть операторы сдвига. Операторы << и >> позаимствованы из С/C++. Кроме того, Java обладает своим новым оператором сдвига >>>>.

Операторы сдвига присущи системам, которые могут выравнивать биты, прочтённые из IO портов или зартсываемые в IO порты. Это также быстрое умножение или деление на степень двойки. Преимущество операторов сдвига в Java - это независимость от платформы. Поэтому вы можете использовать их не беспокоясь ни о чём.

Основы сдвига

Сдвиг - это, по сути, простейшая операция: мы берём последовательность битов и двигаем её влево или вправо. Больше всего конфуза вызывает оператор >>>>. Но о нём мы поговорим чуть позже.

Операторы сдвига могут применяться лишь к целым числам, то есть к типам int или long. Следующая таблица иллюстрирует базовый механизм сдвига.

Таблица 1: Идея сдвига
Исходные данные

192

Бинарное представление 00000000 00000000 00000000 11000000
Сдвиг влево на 1 бит

0

00000000 00000000 00000001 1000000?
Сдвиг вправо на бит ?0000000 00000000 00000000 01100000 0
Сдвиг влево на 4 бита 0000 00000000 00000000 00001100 0000????
Исходные данные

-192

Бинарное представление 11111111 11111111 11111111 01000000
Сдвиг влево на 1 бит

1

11111111 11111111 11111110 1000000?
Сдвиг вправо на бит ?1111111 11111111 11111111 10100000 0

Таблица показывает фундаментальную идею сдвига: перемещение битов относительно их позиций. Это как очередь в магазине: как только один человек совершил покупку и отшёл, вся очередь сдвинулась и позиции всех участников очереди изменились.

Однако, глядя на таблицу, возникают три вопроса вопроса:


Дружественные рассылки

Мои рассылки

Рассылки Subscribe.Ru
Генератор фракталов Apophysis
Java Programer&Developer
Фотобанки и микростоки для чайников
Интернет-заработок site free
CSS и DHTML для сайтостроительства
Йога для чайников

Если Вам понравился выпуск рассылки, пожалуйста, проголосуйте за него. Форма голосования находится в самом низу письма. Если вы ставите оценку ниже 5, я буду признательна вашему расширенному отзыву, который можно оставить в качестве коментария в блоге рассылки. Любые вопросы, коментарии, пожелания, замечения можно также оставлять в блоге рассылки.

С уважением,
Наталия Македа
natalia.macheda at gmail.com
2008-05-16, Trento

Внимание!
Письмо может быть опубликовано полностью или частично, если в нём нет явного запрета на это.

По вопросам партнёрства обращаться на е-майл natalia.macheda at gmail.com


© Наталия Македа 2008
Все материалы рассылки защищены авторским правом. Любая перепечатка или использование материалов рассылки в коммерческих целях возможна лишь с письменного согласия автора. При некоммерческом использовании ссылка на выпуск обязательна.


В избранное