Есть ответ 👍

Костя недавно изучил побитовые операции. на прошлом уроке он писал контрольную по этой теме, но не уверен, что не перепутал порядок выполнения операций. решите пример, который достался косте и скажите ему правильный ответ. 31^(11 & 7 | 11 & ! 7) ^ 21 | (7 & 31 | (11 & 7 | ! 11 & 7) ) & (25 | 25 & 31) ^ 21 в качестве ответа укажите одно целое число в десятичной системе счисления — значение костиного выражения. напомним приоритет операций: ! инверсия значения & побитовое и | побитовое или, ^ исключающее или

147
197
Посмотреть ответы 2

Ответы на вопрос:


Приоритеты операций:   ! инверсия значения & побитовое и ^ исключающее или | побитовое или 7(10) = 00111(2) 11(10) = 01011(2) 21(10) = 10101(2) 25(10) = 11001(2) 31(10) = 11111(2) 11 & 7 = 01011 & 00111 = 00011 11 & ! 7 = 01011 & 11000 = 01000 11 & 7 | 11 & ! 7 = 00011 | 01000 = 01011 11 & 7 = 01011 & 00111 = 00011 ! 11 & 7 = 10100 & 00111 = 00100 11 & 7 | ! 11 & 7 = 00011 | 00100 = 00111 7 & 31 = 00111 & 11111 = 00111 (7 & 31 | (11 & 7 | ! 11 & 7)) = 00111 | 00111 = 00111 25 & 31 = 11001 & 11111 = 11001 25 | 25 & 31 = 11001 | 11001 = 11001 (7 & 31 | (11 & 7 | ! 11 & 7)) & (25 | 25 & 31) = 00111 & 11001 = 00001 31^(11 & 7 | 11 & ! 7) = 11111 ^ 01011 = 10100 31^(11 & 7 | 11 & ! 7) ^ 21 = 10100 ^ 10101 = 00001 (7 & 31 | (11 & 7 | ! 11 & 7)) & (25 | 25 & 31) ^ 21 = 00001 ^ 10101 = 10100 31^(11 & 7 | 11 & ! 7) ^ 21 | (7 & 31 | (11 & 7 | ! 11 & 7)) & (25 | 25 & 31) ^ 21 = 00001 | 10100 = 10101 10101(2) = 21(10)

// pascalabc.net

// версия 3.4 сборка 1749 (18.08.2018)

begin

var (f, out) : = (readalllines('in.txt'), openwrite('in.txt'));

f.select((t, i)-> (t.towords[0], .foreach(t -> begin writeln(out, f[t[1]]) end);

out.close;

end.

файл, который использовал для проверки в приложении(совпадение с реальными именами - случайность).

считывание и запись происходит в одном файле.

Популярно: Информатика