Главная. Учебники по программам для графики и дизайна!! Главная страница сайта.

 

Побитовые операции

Иногда приходится изменять значения отдельных битов в целых данных. Это выполняется с помощью побитовых (bitwise) операций путем наложения маски. В языке Java есть четыре побитовые операции:

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

Таблица 1.3. Побитовые операции

nl

n2

~nl

nl & n2

nl | n2

nl ^ n2

1

0

0

0

1

0

0

0

0

В нашем примере b1 == 50 , двоичное представление 00110010, b2 == -99 , двоичное представление 10011101 . Перед операцией происходит повышение до типа int . Получаем представления из 32-х разрядов для b1 — 0...00110010 , для b2 — 1...l0011101 . В результате побитовых операций получаем:

Двоичное представление каждого результата занимает 32 бита. 

Заметьте, что дополнение всегда эквивалентно (-x)-1 .

 

Hosted by uCoz
Google Scholar
Web Informer Button Web Informer Button