Все просто.
-5 в двоичном виде 11111011
28 в двоичном виде 00011100
а теперь просто перемножаем
11111011*00011100 = 00011000 (24)
Дальше инвертируем
00011000 = 11100111 (-25)
Зависит от языка и типизации, применённой в нём. По логике, будет возвращено вещественное число, потому что вещественный тип рассматривается как более широкий по отношению к целому, а деление на вещественное число подразумевает только операцию вещественного деления, а не целочисленного.
{с клавиатуры вводится число a, до тех пор, пока не будет введен 0. Начальное введенное a записывается в min и max, чтобы потом в цикле было с чем сравнивать}
var
min,max,a:real;
begin
readln(a);
min:=a;max:=a;
while a<>0 do
begin
readln(a);
if a>max then
max:=a;
if a<min then
min:=a;
end;
writeln('min: ',min,' max: ',max);
<span>end.</span>
Просто смотрим какое число по модулю больше и из него вычитаем, а так как уменьшаемое меньше чем вычитаемое, то подставляем минус.
N= -3*(-3)=9
N=-2*(-2)=4
N=-1*(-1)=1
N=0*0=0
N=1*1=1
N=2*2=4
N=3*3=9
X=0+(9+4+1+0+1+4+9)=28
Вроде так