menu


Подписаться на блог

Social networks

My page on vk.com
My page on Facebook
My page on Google plus
My page on Twitter

Главная - Блог - Побитовые операторы в Java

Программирование Дата создания: Просмотры: 337

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

vitaly.lesnih.info


Россия

В языке программирования Java определено несколько побитовых операторов, эти операторы применяются к целочисленным типам, таким как: : byte, int, long, short, char.

Ниже список каждого побитового оператора:

•             Бинарный оператор AND (Побитовое И &)

•             Бинарный оператор OR Побитовое ИЛИ |

•             Бинарный оператор XOR Побитовое логическое ИЛИ ^

•             Бинарный оператор дополнения . Побитовое дополнение ~

•             Бинарный оператор сдвига влево.Сдвиг влево <<

•             Бинарный оператор сдвига вправо Сдвиг вправо >>

•             Нулевой оператор сдвига вправо.Нулевой сдвиг вправо >>>

А теперь давайте определимся как работает побитовый оператор. Побитовый оператор выполняет работу над битами последовательно, бит за битом. Рассмотрим пример, переменная:

a= 55

b = 24

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

Мой генератор бинарного кодаhttp://vitaly.lesnih.info/generator-binarnogo-koda.html

И так, после преобразования :

a =  110111;

b  = 11000;

Эту же саму процедуру вы можете выполнить в языке Java, методом

int a = 55;

int b = 24;

System.out.print(Integer.toBinaryString(a));  // Ответ 110111

System.out.print(Integer.toBinaryString(a));  // Ответ 11000

Теперь проверим как работает оператор  Побитовое И &

Бинарный оператор AND копирует бит в результат, если он существует в обоих операндах.

 

System.out.print(Integer.toBinaryString(a&b)); // Ответ 10000

Для того чтобы понять как система выдала нам такой ответ надо поставить оба бинарных кода друг под другом, я сделаю это в таблице, и далее мы будем сравнивать совпадают ли данные в ячейках друг под другом, если совпадают то значение переносим в нижнюю строку, если нет то в ячейке пишем 0

 

1

1

0

1

1

1

 

1

1

0

0

0

0

1

0

0

0

0

Наш результат совпал с результатом системы. А теперь преобразуем в число по ссылке мой генератор бинарного кода. Ответ 16, проверим теперь другим образом в Java

System.out.print(a&b); // Ответ совпал , так же 16.

 

Остальные результаты приведем в таблице

Оператор

Описание

Пример в Бинарном коде

Пример

Ответ

Бинарный оператор AND

Бинарный оператор AND (Побитовое И &)

Бинарный оператор AND копирует бит в результат, если он существует в обоих операндах.

1

1

0

1

1

1

 

1

1

0

0

0

0

1

0

0

0

0

 

a&b

16

Бинарный оператор OR

Бинарный оператор OR Побитовое ИЛИ |

Бинарный оператор OR копирует бит, если он существует в любом из операндов.

1

1

0

1

1

1

 

1

1

0

0

0

1

1

1

1

1

1

 

a|b

63

Бинарный оператор XOR

Бинарный оператор XOR Побитовое логическое ИЛИ ^

Бинарный оператор XOR копирует бит, если он установлен в одном операнде, но не в обоих.

1

1

0

1

1

1

 

1

1

0

0

0

1

0

1

1

1

1

 

a^b

47

 

 

 

 

 

Бинарный оператор дополнения

Бинарный оператор дополнения . Побитовое дополнение ~

Бинарный оператор дополнения и имеет эффект «отражения» бит.

 

~a

-56

Бинарный оператор сдвига влево

Бинарный оператор сдвига влево.Сдвиг влево <<

Бинарный оператор сдвига влево. Значение левых операндов перемещается влево на количество бит, заданных правым операндом.

 

 

1

1

0

1

1

1

1

1

0

1

1

1

0

0

 

a<<2

220

Бинарный оператор сдвига вправо

Бинарный оператор сдвига вправо Сдвиг вправо >>

Бинарный оператор сдвига вправо. Значение правых операндов перемещается вправо на количество бит, заданных левых операндом.

 

 

1

1

0

1

1

1

 

 

 

 

1

1

0

1

 

a>>2

13

Нулевой оператор сдвига вправо

Нулевой оператор сдвига вправо.Нулевой сдвиг вправо >>>

Нулевой оператор сдвига вправо. Значение левых операндов перемещается вправо на количество бит, заданных правым операндом, а сдвинутые значения заполняются нулями.

 

 

1

1

0

1

1

1

 

 

0

0

1

1

0

1

 

a>>>2

13

 


Побитовые операторы в Java
Rating: 5 | Тotal votes: 3 | Please, rate this article




Комментарии:









    Подписаться на блог


    Полезные статьи:


    Mysql Java - SELECT получить данные из Mysql

    Mysql Java - SELECT получить данные из Mysql
    Тема: Программирование

    Теги: database,java,mysql,select

    Просмотры:242

    Java XML - Запись XML в java-приложении

    Java XML - Запись XML в java-приложении
    Тема: Programming

    Теги: java,xml,запись xml

    Просмотры:303

    Post java - Отправить POST запрос в Java

    Post java - Отправить POST запрос в Java
    Тема: Программирование

    Теги: java,post,php,jsp

    Просмотры:673