Контрольные задания по теме
Арифметические операции в двоичной системе счисления
Без описанного процесса решения ответ не засчитывается!
Задание 1 Выполните сложение двоичных чисел
а) 1 101 100 000(2) + 10 110 110(2);
б) 101 110 111(2) + 1 000 100 001(2);
в) 1 001 000 111(2) + 100 001 101(2);
г) 1 111 011 101(2) + 101 101 000(2);
Задание 2 Выполните вычитание двоичных чисел
а) 1 011 001 001(2) - 1 000 111 011(2);
б) 1 110 000 110(2) – 101 111 101(2);
в) 101 010 000(2) - 11 001 100(2)
г) 1 001 000 011(2) – 10 110 111(2);
Задание 3 Выполните умножение двоичных чисел
а) 1 011 001(2)*1 011 011(2) ;
б) 11 001(2)*1 011 100(2) ;
Задание 4 Выполните деление двоичных чисел
а) 1 010 001(2) /11(2) ;
б) 11 001(2) / 101(2) ;
2. 1/512 Мбайт = 1024*1/512 Кбайт = 2 Кбайта = 2*1024 байт = 2*1024*8 бит.
Объем одного символа = 2*1024*8 / 2048 = 8 бит
Мощность алфавита = 2^8 = 256 символов
3. Для записи одного из 64 символов требуется log(2)64 = 6 бит (2^6=64)
Количество символов в тексте = 7*16*56
Объем информации = 7*16*56*6 бит = 7*16*56*6 / 8 байт = 7*2*56*6 байт = 4704 байт = 4704/1024 Кбайт ≈ 4,6 Кбайт
4. Для записи одного из 120 номеров требуется log(2)120 ≈ 7 бит (2^7=128). Информационный объем сообщения о результатах 64 лыжников = 64*7 бит = 64*7/8 байт = 56 байт
{ Нахождение НОД }
var
i: longint;
begin
while b <> 0 do
begin
a := a mod b;
i := b; b := a; a := i
end;
gcd := a
end;
procedure ShortFraction(var m,n:longint);
var
k:longint;
begin
k:=Gcd(m,n);
m:=m div k; n:=n div k
end;
var
a,b:longint;
begin
Write('Введите числитель и знаменатель дроби: '); Readln(a,b);
ShortFraction(a,b);
Writeln('Дробь после сокращения равна ',a,'/',b)
end.
Тестовое решение:
Введите числитель и знаменатель дроби: 25 15
Дробь после сокращения равна 5/3