Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
10 Июл 2023
1 мин
1035

Разница между операторами >>> и >>

В Java есть два вида операторов сдвига вправо: >>> и >>. Они используются для сдвига битового представления числа вправо. Оператор сдвига >> Оператор

В Java есть два вида операторов сдвига вправо: >>> и >>. Они используются для сдвига битового представления числа вправо.

Оператор сдвига >>

Оператор >> (сдвиг вправо) сдвигает биты числа вправо на указанное количество позиций. Важно отметить, что при этом знак числа сохраняется, т.е. если было отрицательное число, то и после сдвига оно останется отрицательным.

int a = -10;
a = a >> 2; // результат будет -3

Оператор сдвига >>>

Оператор >>> (беззнаковый сдвиг вправо) также сдвигает биты числа вправо на указанное количество позиций, но при этом знак числа всегда становится положительным, т.е. старший бит (знаковый) устанавливается в 0.

int a = -10;
a = a >>> 2; // результат будет 1073741821

Вывод

Важно отличие между операторами >> и >>> заключается в том, как они обрабатывают старший (знаковый) бит. >> сохраняет значение старшего бита, тем самым сохраняя знак числа, в то время как >>> устанавливает старший бит в 0, делая число положительным.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий