Другие языки программирования и технологии

В специализированной ЭВМ целые числа рассматриваются как числа со знаком и представляются в дополнительном коде. Для х

1. Y + Y то же самое, что сдвиг на один бит влево, _младший_бит_заполняется_нулём_.
2. XOR выставляет бит в единицу, если биты операндов не совпадают

R = X xor (Y + Y) == 3
11 = X xor ...0 => x = ...1

Итак, младший (нулевой) бит X известен - он равен 1.

T = Z xor (X + X) == 11

1011 = Z xor ...10 => z = ...01

Два младших бита Z = 01

S = Y xor (Z + Z) == 6

110 = Y xor ...010 => y = ...100

Три младших бита Y = 100

--
Вернёмся к R

11 = X xor ...1000 => x = ...1011

Теперь мы знаем четыре младших бита x

Теперь T

1011 = Z xor ...10110 => z = ...11101

Снова S

110 = Y xor ...111010 => y = ...111100

--
Вернёмся к R

11 = X xor ...1111000 => x = ...1111011

Теперь мы знаем четыре младших бита x

Теперь T

1011 = Z xor ...11110110 => z = ...11111101

Снова S

110 = Y xor ...111111010 => y = ...111111100
....

X = 111...1011 == -5
Y = 111...1100 == -4
Z = 111...1101 == -3
Ivan Maleshin
Ivan Maleshin
5 475
Лучший ответ
Напишите программу перебора, чего тут думать. Могу подсказать: X и Z - нечетные, Y - четное
Samat Mamatov
Samat Mamatov
38 447