Что за оператор ^=

110
16 июня 2019, 12:10

Привествую, недавно увидел такой оператор ^=, но так и не нашел что он делает, применялся он к int, знаю что ^ это ислючения, но ^= да еще и для int. ЧТо это?

Answer 1

^ - Исключающее ИЛИ (XOR)

int^=0xFF будет равносильно записи int=int^0xFF

Каждый бит числа будет сверен с таковым же битом второго числа и если биты не равны мы получим 1 на месте сравниваемого бита, иначе 0.

Таблица:

a  b  a^b
0  0   0
0  1   1
1  0   1
1  1   0

Пример:

 0100 0110
^0010 0010
=0110 0100
READ ALSO
Ошибка при создании объекта

Ошибка при создании объекта

При создании Table Unit выдаёт Предполагаемый лог UnitTest https://yadisk/d/KnbKKhyEYZq6Hw При этом, если в методе CreateRows будет отсутствовать строка r[i] = new Row(this,...

89
Как отправить textbox1.Text через smtp, если он многострочный?

Как отправить textbox1.Text через smtp, если он многострочный?

Воспользовался этим кодом, но он отправляет только однострочные сообщения, что делать?

88
Проверка попадания точки в GraphicsPath

Проверка попадания точки в GraphicsPath

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

97