Берем третьи байты и переводим в двоичную систему счисления:добавим в начале нулей, чтобы получилось 8 цифр. ← ← найдем маску. запишем с столбик. если элементы одинаковые, ставим соответствующее число, если элементы разные, ставим крестик: 00000101 00011101 000xx101 ← маска т.к. по правилу в маске, сначала идут единицы, переместим их в начало: 11xx0000 если бы по условию, надо было бы найти наименьшее возможное значение, то мы бы заменяли крестики(х) на нули. т.к. по условию необходимо наибольшее возможное значение, подставляем вместо крестиков(x), единицу и переведем в десятичную систему счисления:
begin
writeln('Дано уравнение вида ax^2+bx+c=0');
Writeln ('Укажи переменную "a"');
readln(a);
Writeln ('Укажи переменную "b"');
readln(b);
Writeln ('Укажи переменную "c"');
readln(c);
if a = 0
then writeln('Не квадратное уравнение!')
else begin
d:= sqr(b)-4*a*c;
if d < 0 then writeln('Нет корней')
else begin
x1:= (-b+sqrt(d))/2*a;
x2:= (-b-sqrt(d))/2*a;
writeln ('X1 =',x1,' X2 =',x2);
end;
end;
end.