Если я правильно поняла задачу и нужно из двоичного числа перевести в десятичное, то ответ 231
const
n = 10; //количество чисел, которое нужно сформировать
First = -10; //С какого числа должны генерироваться случайные числа
Second = 15;{По какое число должны генерироваться случайные числа(например в данном случае случайные числа генерируются в диапазоне от - 10 до 15)}
var
f, g, h: text;
i: integer;
Number: array [1..n] of integer;{Массив, в который записываются числа, считанные из файлов}
begin
randomize;
assign(f, 'f.txt');//Инициализируем файл f
assign(g, 'g.txt');//Инициализируем файл g
assign(h, 'h.txt');//Инициализируем файл h
rewrite(f);//Открываем файл f для записи
for i:= 1 to n div 2 do write(f, random(abs(First) + abs(Second)) + First , ' ');{Первую половину чисел записываем в файл f}
close(f);//Закрываем файл f
rewrite(g);//Открываем файл g для записи
for i:= (n div 2) + 1 to n do write(g, random(abs(First) + abs(Second)) + First, ' ');{Вторую половину случайно сгенерированных чисел записываем в файл g}
close(g);//Закрываем файл g
reset(f);//Открываем файл f для считывания
for i:= 1 to n div 2 do read(f, Number[i]);{Первую половину чисел считываем из файла f в массив}
close(f);//Закрываем файл f
reset(g);//Открываем файл g для считывания
for i:= (n div 2) + 1 to n do read(g, Number[i]);{Вторую половину чисел считываем из файла g в массив}
close(g);//Закрываем файл g
rewrite(h);//Открываем файл h для записи
for i:= 1 to n div 2 do write(h, Number[i], ' ');{Первую половину считанных чисел из массива записываем в файл h}
writeln(h);//Перевод на новую строку в файле h
for i:= (n div 2) + 1 to n do write(h, Number[i], ' ');{Вторую половину считанных чисел из массива записываем в файл h}
close(h);//Закрываем файл h
end.
Все файлы создаются там же, где находится файл программы.
Ответ:
Результат:
18.5410 =10 010.100 010 12
Решение:
Приведем целую часть числа 18.54 в систему счисления 2 последовательным делением на число 2:
18/2=9 остаток 0
9/2=4 остаток 1
4/2=2 остаток 0
2/2=1 остаток 0
1/2=0 остаток 1
Записав полученные цифры в ряд снизу вверх, получим:
1810=100102
Приведем дробную часть числа 18.54 в систему счисления 2 последовательным умножением на число 2:
0.54·2=1.08=0.08+1
0.08·2=0.16=0.16+0
0.16·2=0.32=0.32+0
0.32·2=0.64=0.64+0
0.64·2=1.28=0.28+1
0.28·2=0.56=0.56+0
0.56·2=1.12=0.12+1
0.12·2=0.24=0.24+0
0.24·2=0.48=0.48+0
0.48·2=0.96=0.96+0
Записав полученные цифры в ряд сверху вниз, получим:
0.5410=0.10001010002
Объединив целые и дробные части, получим решение:
18.5410=10010.10001012
Объяснение:
1. 1 или 1 =1, 1 или 0 = 1. 1 или 1= 1. Ответ: 1.
2. 0 или 1 = 1. 1 или 0 = 1. 1 или 1 = 1. Ответ: 1
3. 1 и 1 = 1. 1 и 1= 1. 1 и 1 = 1. Ответ: 1
4. 1 и 0 = 0. 1 и 0= 0. 0 или 0 =0. 0 или 1 = 1. Ответ: 1