Вот такая программа позволяет инвертировать нечётные биты во введённом 16-ти разрядном числе (тип word).
Если что, счёт битов я брал начиная с нуля. Поэтому, младший бит (нулевой) считается чётным. Если вдруг у вас там принято считать биты начиная с единицы, то младший будет нечётным, и тогда в строке где b := 2; надо поставить единицу вместо двух.
Также, я сделал отображение всех 16 разрядов введённого числа, и числа которое получилось после инверсии битов (то есть, число выводится в двоичном виде, начиная со старших разрядов). Это сделано для удобства проверки работы программы.
После проверки лучше удалить эти две строки (они выделены жирным шрифтом), ведь в задании не сказано выводить числа в двоичном виде.
Во всех заданиях надо работать со степенями двойки. 1. Шанс вытащить какой-то конкретный шар составляет 1 из 32. Следовательно, информация о вытащенном шаре уменьшает неопределенность в 32 раза. Есть формула Хартли, которая говорит, что объем информации в битах будет численно равен логарифму по основанию два от величины уменьшения неопределенности. Но в некоторых случаях можно воспользоваться тем, что если число является степенью двойки, то значение логарифма будет являться этой степенью. У нас 32 - это два в пятой степени, поэтому значение логарифма равно 5. ответ: Сообщение содержит 5 бит информации. 2. Выбор одного из 8 карандашей снижает неопределенность в 8 раз, восемь - это два в кубе, следовательно логарифм равен 3. ответ: Сообщение содержит 3 бита информации. 3. Если было получено 6 бит информации, то делаем обратную операцию - возводим двойку в эту шестую степень. Получаем 64. ответ: диапазон содержит 64 числа (от 0 до 63). 4. 16 стеллажей и в каждом 8 полок. Всего 16x8=256 полок. Координаты книги - 1 из 256 возможных вариантов. 256 - это два в восьмой. ответ: Сообщение содержит 8 бит информации. 5. В книге 512 страниц, закладка может лежать на любом из 512 мест. 512 - это два в девятой степени. Значит, сообщение о месте закладки несет информацию в 9 бит. ответ: Сообщение несет 9 бит информации.
Вот такая программа позволяет инвертировать нечётные биты во введённом 16-ти разрядном числе (тип word).
Если что, счёт битов я брал начиная с нуля. Поэтому, младший бит (нулевой) считается чётным. Если вдруг у вас там принято считать биты начиная с единицы, то младший будет нечётным, и тогда в строке где b := 2; надо поставить единицу вместо двух.
Также, я сделал отображение всех 16 разрядов введённого числа, и числа которое получилось после инверсии битов (то есть, число выводится в двоичном виде, начиная со старших разрядов). Это сделано для удобства проверки работы программы.
После проверки лучше удалить эти две строки (они выделены жирным шрифтом), ведь в задании не сказано выводить числа в двоичном виде.
var
a, b, n: word;
begin
write('Введите целое неотрицательное число: a= ');
readln(a);
b:=32768;for n:=15 downto 0 do begin write((a mod(b*2))div b);b:=b div 2;end;writeln();
b := 2;
for n := 0 to 7 do
begin
if (a mod (b * 2)) div b = 0
then a := a + b
else a := a - b;
b := b * 4;
end;
b:=32768;for n:=15 downto 0 do begin write((a mod(b*2))div b);b:=b div 2;end;writeln();
writeln('После инверсии нечётных битов: a= ', a);
end.
1. Шанс вытащить какой-то конкретный шар составляет 1 из 32. Следовательно, информация о вытащенном шаре уменьшает неопределенность в 32 раза. Есть формула Хартли, которая говорит, что объем информации в битах будет численно равен логарифму по основанию два от величины уменьшения неопределенности. Но в некоторых случаях можно воспользоваться тем, что если число является степенью двойки, то значение логарифма будет являться этой степенью. У нас 32 - это два в пятой степени, поэтому значение логарифма равно 5.
ответ: Сообщение содержит 5 бит информации.
2. Выбор одного из 8 карандашей снижает неопределенность в 8 раз, восемь - это два в кубе, следовательно логарифм равен 3.
ответ: Сообщение содержит 3 бита информации.
3. Если было получено 6 бит информации, то делаем обратную операцию - возводим двойку в эту шестую степень. Получаем 64.
ответ: диапазон содержит 64 числа (от 0 до 63).
4. 16 стеллажей и в каждом 8 полок. Всего 16x8=256 полок. Координаты книги - 1 из 256 возможных вариантов. 256 - это два в восьмой.
ответ: Сообщение содержит 8 бит информации.
5. В книге 512 страниц, закладка может лежать на любом из 512 мест. 512 - это два в девятой степени. Значит, сообщение о месте закладки несет информацию в 9 бит.
ответ: Сообщение несет 9 бит информации.