>Указывает больше, чем , например: if(a>b)...Результат имеет логический тип.
>> означает сдвиг вправо со знаком , например: int i=15 Результат i>>2 равен 3, и перемещенная часть будет отброшена;
Возможно, это будет проще понять, преобразовав его в двоичную форму. Результат 0000 1111(15), сдвинутый вправо на 2 бита, будет 0000 0011(3), а результат 0001 1010(18), сдвинутый вправо на 3 бита, будет 0000 0011. (3).
>>>Беззнаковый сдвиг вправо :
Переместить все числа вправо на соответствующее количество цифр в двоичном виде, сдвинуть младшие биты (отбросить), а пустые биты в старших битах заполнить нулями. То же, что сдвиг вправо со знаком для положительных чисел, но отличается для отрицательных чисел.
Остальные структуры аналогичны >>.
Тестовый код выглядит следующим образом:
public class Test { public static void main(String[] args){ System.out.println("1. Следующий тест>:"); ) ; System.out.println("/n2, следующий тест >>:"); System.out.println("15 >> 2 = " + (15 >> 2)); System.out.println("/n3, следующие тесты >>>:"); for (int i = 0; i < 10; i++){ for (int j = 0; j < 500; j = j + 5 ) { System.out.println(j / (int) (Math.pow(2, i)));
Другие побитовые операторы в JAVA:
~ Побитовое НЕ (НЕ) (унарная операция)
& побитовое И
Побитовое ИЛИ (ИЛИ)
^ Побитовое исключающее ИЛИ (XOR)
>> Двигайся вправо
>>> Сдвиг вправо, заполняя пустые биты слева нулями
<< сдвиг влево
&= побитовое И присваивание
|= Побитовое ИЛИ присваивание
^= Побитовое исключающее ИЛИ
>>= назначение правой смены
>>>= Назначение сдвига вправо, пустые биты слева заполняются 0
<<= назначение сдвига влево