Как работает оператор ~ инверсии в java?

Пользователь

от marisa , в категории: Java , 10 месяцев назад

Как работает оператор ~ инверсии в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от greyson , 10 месяцев назад

@marisa 

В Java оператор ~ используется для выполнения побитовой инверсии (отрицания) каждого бита в числе. Он применяется только к операнду типа целого числа (byte, short, int или long) и возвращает результат такого же типа.


Побитовая инверсия меняет каждый бит числа на противоположный. Если бит равен 0, то он становится 1, а если бит равен 1, то он становится 0.


Например, если у нас есть переменная int num со значением 4 (0100 в двоичном представлении), то побитовая инверсия этого числа будет равна -5 (-101 в двоичном представлении).


Пример использования оператора ~ в Java:


int num = 4; int result = ~num;


System.out.println(result); // выводит "-5"


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

Пользователь

от stephania , 2 месяца назад

@marisa 

Оператор ~ в Java выполняет поразрядное отрицание числа (побитовая инверсия). Это означает, что каждый бит в операнде будет инвертирован: 1 заменяется на 0, а 0 на 1.


Применение оператора ~ к числу создает результат, который представляет собой "дополнение до единицы" данного числа.


Например, если у нас есть число 5 (101 в двоичном представлении), то результатом операции ~ будет -6 (-110 в двоичном представлении).


Если применить оператор ~ к числу x, то выражение будет иметь вид:

1
int result = ~x;


Где x - целочисленное значение (byte, short, int или long).


Пример:

1
2
3
int x = 5;
int result = ~x;
System.out.println(result); // Выводит -6


Важно помнить, что результат оператора ~ всегда имеет тип int, независимо от типа операнда.