Петя увидел в интернете информацию о побитовых операциях. Эти операции применяются к двоичным представлениям чисел – получая новое значение для каждой пары битов двух исходных чисел. Битовые операторы AND, OR, XOR и NOT используют те же таблицы истинности, что и их логические эквиваленты.
X Y X AND Y X OR Y X XOR Y NOT X
0 0 0 0 0 1
0 1 0 1 1 1
1 0 0 1 1 0
1 1 1 1 0 0
Побитовые операции можно проводить только над числами с заранее заданным количеством разрядов в двоичной записи. Петя решил использовать четырехразрядные числа. Если в одном числе разрядов меньше, чем 4, то нужно дописать слева нули, перед тем как применять побитовую операцию к такому числу. Пример:
Полезно вспомнить, что A XOR B XOR B = A для любых A и B. Если это учесть, останется только аккуратно посчитать.NOT 4 = NOT 0100 = 1011 3 OR NOT 4 = 0011 OR 1011 = 101115 AND X = 1111 AND X = XX = 2 XOR (3 OR NOT 4) = 0010 XOR 1011 = 1001 = 9