C # XOR для двухбайтовых переменных не будет компилироваться без преобразования [duplicate]

На этот вопрос уже есть ответ здесь:

байт + байт = int… почему? 16 ответов

Почему следующее вызывает ошибку времени компиляции: «Невозможно неявно преобразовать тип« int »в« byte »:

        byte a = 25;
        byte b = 60;

        byte c = a ^ b;

Это имело бы смысл, если бы я использовал арифметический оператор, потому что результат a + b мог бы быть больше, чем может быть сохранен в одном байте.

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

использование броска вокруг обоих операндов работает:

byte c = (byte)(a ^ b);

Ответы на вопрос(8)

Ваш ответ на вопрос