|
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);
}
}