Kotlin оператор "^ =" - PullRequest
       0

Kotlin оператор "^ ="

0 голосов
/ 02 апреля 2020

Есть ли Kotlin аналог оператора Java ^= (xor и assign)?

Например, в Java мы можем просто написать

a ^= b
// a = a ^ b

It Похоже, в Kotlin нам нужно явно присвоить значение

a = a xor b

Можно ли избежать дублирования переменной a в Kotlin коде?

1 Ответ

0 голосов
/ 14 апреля 2020

В отличие от C, C ++ и Java, Kotlin не имеет побитовых операторов, таких как | (поразрядный или), & (поразрядный и), ^ (побитовый-xor), << (со знаком слева) shift), >> (знаковое смещение вправо) et c.

Для выполнения побитовых операций Kotlin предоставляет следующие методы, которые работают для типов Int и Long -

  • shl - сдвиг со знаком влево (эквивалент оператора <<) </li>
  • shr - сдвиг со знаком вправо (эквивалент оператора >>)
  • ushr - сдвиг без знака вправо (эквивалент оператора >>>)
  • и - побитовый и (эквивалент оператора &)
  • или - побитовый или (эквивалент оператора |)
  • xor - битовый xor (эквивалент оператора ^)
  • инв - побитовое дополнение (эквивалент оператора ~)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...