Прямой код:
9₁₀=00001001₂
2₁₀=00000010₂
5₁₀=00000101₂
7₁₀=00000111₂
Обратный код:
-9₁₀=11110110₂
-2₁₀=11111101₂
-5₁₀=11111010₂
-7₁₀=11111000₂
Дополнительный код:
-9₁₀=11110111₂
-2₁₀=11111110₂
-5₁₀=11111011₂
-7₁₀=11111001₂
Обр. коды:
а) 9-2=00001001+11111101=100000110₂
б) 2-9=00000010+11110110=11111000₂
в) -5-7=11111010+11111000=111110010₂
Доп. коды:
а) 9-2=00001001+11111110=100000111₂
б) 2-9=00000010+11110111=11111001₂
в) -5-7=11111011+11111001=111110100₂
2048=2^11 1536 = 1,5*1024=1,5*2^10
F = 3*2048*1536 =
=3*1,5*2^10 *2^11 (байт) =4,5*2^11 Кбайт =4,5 *2 Мбайт =9 Мбайт
Type
bignum = array[1..100] of integer;
var
a, b: bignum;
i, j, k, n_a, n_b: integer;
procedure get_num(var m: bignum; var n: integer);
var
i := 0;
s: string;
begin
write('Введите число = ');
readln(s);
s := trim(s);
n := 0;
for i := length(s) downto 1 do
if s[i] in ['0'..'9'] then begin
n := n + 1;
m[n] := strtoint(s[i]);
end;
end;
function more(a, b: bignum; n_a: integer): boolean;
var
i: integer;
f := false;
begin
for i := n_a downto 1 do
begin
if a[i] > b[i] then f := true
else if a[i] < b[i] then f := false;
if a[i] <> b[i] then break;
end;
more := f;
end;
procedure show(m: bignum; n: integer);
var
i: integer;
begin
write('Вывод ');
for i := n downto 1 do
write(m[i]);
writeln();
end;
begin
get_num(a, n_a);
get_num(b, n_b);
while (n_a >= n_b) and more(a, b, n_a) do
begin
if (a[n_a] > b[n_b]) then k := n_a - n_b
else if n_a > n_b then k := n_a - n_b - 1
else k := 0;
for i := 1 to n_b do
begin
a[i + k] := a[i + k] - b[i];
if a[i + k] < 0 then begin
for j := i + k to n_a - 1 do
begin
if a[j] >= 0 then break;
a[j] := a[j] + 10;
a[j + 1] := a[j + 1] - 1;
end
end;
end;
if a[n_a] = 0 then n_a := n_a - 1;
end;
show(a, n_a);
end.
Ответ:
a) 1 1 0 1 = 1
b) 1 1 0 1 = 1
c) 0 0 0 1 = 1
d) 0 0 0 1 = 1
Объяснение:
Напиши,если нужно объяснение)
Var b:integer;
a: array [0..6] of integer;
begin
randomize;
for b:=0 to 6 do begin
read(a[b]);
end;
for b:=6 downto 5 do begin
write(a[b],' ');
end;
writeln('');
for b:=0 to 4 do begin
write(a[b],' ');
end;
writeln('');
end.