Spec-Zone .ru
спецификации, руководства, описания, API
|
Язык программирования Java также предоставляет операторам, которые выполняют поразрядный и операции сдвига разряда на целочисленных типах. Операторы, обсужденные в этом разделе, реже используются. Поэтому, их покрытие кратко; намерение состоит в том, чтобы просто сделать Вас знающими, что эти операторы существуют.
Унарный поразрядный оператор дополнения"~
"инвертирует немного образца; это может быть применено к любому из целочисленных типов, делая каждый "0" a "1" и каждый "1" a "0". Например, a byte
содержит 8 битов; применение этого оператора к значению, комбинация двоичных разрядов которого "00000000", изменило бы свой образец на "11111111".
Подписанный оператор сдвига влево"<<
"сдвиги немного образца налево, и подписанный оператор сдвига вправо">>
"сдвиги немного образца направо. Комбинация двоичных разрядов дается левым операндом, и числом позиций, чтобы сместиться правым операндом. Оператор сдвига вправо без знака">>>
"смещает нуль в крайнюю левую позицию, в то время как крайняя левая позиция после ">>"
зависит от расширения знака.
Поразрядное &
оператор выполняет поразрядную операцию И.
Поразрядное ^
оператор выполняет работу битового исключающего "ИЛИ".
Поразрядное |
оператор выполняет поразрядную операцию "включающее ИЛИ".
Следующая программа, BitDemo
, использует поразрядную операцию И, чтобы напечатать номер "2" к стандартному выводу.
class BitDemo { public static void main(String[] args) { int bitmask = 0x000F; int val = 0x2222; // prints "2" System.out.println(val & bitmask); } }