Представим гипотетический формат представления чисел с плавающей точкой, где под нормализованную мантиссу числа отводится 7 бит, а под порядок( без знака, со смещением 2³-1 ) отводится 3 бита. Чему равно максимальное точно представитель число в этом формате. ответ запишите в обычном десятичном представлении.
10111110101000110110001000101010 --> 190.163.98.42
2) Аналогично предыдущей задаче, только переводим наоборот, из 10-ной системы счисления в 2-ную:
а) 65.128.255.12 --> 01000001100000001111111100001100
б) 192.48.0.24 --> 11000000001100000000000000011000
3)115628382 --> 115.62.83.82
Решаем с конца:
- 4-е число не может быть 382, значит оно состоит из одной или двух цифр;
- пусть последнее число 2, тогда 3-е может быть только 38, но тогда 2-е получается 628, что невозможно;
- тогда пусть последнее число 82, тогда 3-е может быть только 83, тогда 2-е получается 62, а 1-е 115
var
i,k:integer;
a,b:array[1..10]of integer;
begin
writeln('Исходный массив:');
for i:=1 to 10 do
begin
a[i]:=random(-10,10);
write(a[i]:3)
end;
for i:=1 to 10 do
begin
if a[i]<0 then
begin
k:=k+1;
b[k]:=a[i]
end
end;
for i:=1 to 10 do
begin
if a[i]>=0 then
begin
k:=k+1;
b[k]:=a[i]
end
end;
writeln;
writeln('Преобразованный массив:');
for i:=1 to 10 do write(b[i]:3)
end.
2.
var i,j,k,n,x,p:integer;
a,b:array of integer;
f:boolean;
begin
write('Сколько будет чисел: ');
readln(n);
SetLength(a, n);
for i:=1 to n do
begin
f:=false;
write('Введите число: ');
readln(x);
for j:=0 to n-1 do
if x=a[j] then f:=true;
if f=false then
begin
a[k]:=x;
k:=k+1;
end
end;
SetLength(b, k);
for i:=0 to k-1 do b[i]:=a[i];
for i:= 0 to k-1 do
for j := 0 to k-1 do
begin
if b[i] < b[j] then
begin
p := b[i];
b[i] := b[j];
b[j] := p
end
end;
writeln('Отсортированный массив:');
for i:=0 to k-1 do write(b[i]:3)
end.
2.1
var
i,j,k,n,x,p:integer;
a:array[1..1000] of integer;
f:boolean;
begin
write('Сколько будет чисел: ');
readln(n);
k:=1;
for i:=1 to n do
begin
f:=false;
write('Введите число: ');
readln(x);
for j:=1 to n do
if x=a[j] then f:=true;
if f=false then
begin
a[k]:=x;
k:=k+1;
end
end;
for i:=1 to k-1 do
for j:=1 to k-1 do
begin
if a[i] < a[j] then
begin
p:= a[i];
a[i]:= a[j];
a[j]:= p
end
end;
writeln('Отсортированный массив:');
for i:=1 to k-1 do write(a[i]:3)
end.