Для получения внутреннего представления целого числа достаточно перевести число в двоичную систему счисления и дополнить полученный результат слева нулями до нужной разрядности.
При представлении со знаком самый старший (левый) разряд отводится под знак числа, остальные разряды - под само число. Если число положительное, то в знаковый разряд помещается 0 , если число отрицательное - 1.
Const n = 10; var a: array[1..n] of integer; i, j, t: integer; flag:boolean;
begin Randomize; Writeln('Исходный массив'); for i := 1 to n do begin a[i] := random(101)-50; Write(a[i]:4) end; Writeln; i:=1; repeat flag:=true; for j := 1 to n-i do if a[j] > a[j+1] then begin t := a[j]; a[j] := a[j+1]; a[j+1] := t; flag:=false end; Inc(i); until (i>n-1) or flag; Writeln('Отсортированный по возрастанию массив'); for i := 1 to n do Write(a[i]:4); Writeln end.
4 единицы
Объяснение:
1 байт = 8 бит = 8 разрядов для числа
22 / 2 = 11 + остаток 0
11 / 2 = 5 + остаток 1
5 / 2 = 2 + остаток 1
2 / 2 = 1 + остаток 0
1 / 2 = 0 + остаток 1
записываем остатки снизу вверх
22 в 10 СС = 10110 в 2 СС
Для получения внутреннего представления целого числа достаточно перевести число в двоичную систему счисления и дополнить полученный результат слева нулями до нужной разрядности.
При представлении со знаком самый старший (левый) разряд отводится под знак числа, остальные разряды - под само число. Если число положительное, то в знаковый разряд помещается 0 , если число отрицательное - 1.
-22 -> 10010110
4 единицы
n = 10;
var
a: array[1..n] of integer;
i, j, t: integer;
flag:boolean;
begin
Randomize;
Writeln('Исходный массив');
for i := 1 to n do
begin
a[i] := random(101)-50;
Write(a[i]:4)
end;
Writeln;
i:=1;
repeat
flag:=true;
for j := 1 to n-i do
if a[j] > a[j+1] then
begin t := a[j]; a[j] := a[j+1]; a[j+1] := t; flag:=false end;
Inc(i);
until (i>n-1) or flag;
Writeln('Отсортированный по возрастанию массив');
for i := 1 to n do Write(a[i]:4);
Writeln
end.
Тестовое решение:
Исходный массив
-32 -7 2 2 50 -33 1 31 4 -16
Отсортированный по возрастанию массив
-33 -32 -16 -7 1 2 2 4 31 50