Был на свете человек он был обичный как все любил призидента и был нормальным но один раз когда он пошоо гулять с друзьями он упал в яму наткнувшись на блок он кго тронул и о него было видение потом его нашли копы работающие на призедента они розказали ему что Президент взорвет мир и только он мон мир с блока его хотели питать но пришел парень который его началась погоня и парень понял (его звали Дикарь) что человек (он де Эммет) не избранный продалдалась погоня и коп вистрельнул в Эммета пушкой (котороя не взривала а прилипила жучка) Коп их стрелял но бэтмен их они полетели в Заоблачную даль К другим крутим людям которие б им мир но из-за жучка прилетели копы и взорвали Заоблачную даль всех посадили в тюрмю но банда Эммета уцелела они пошли к Президенту гле их ожидали и словили все билы без но Эммет вибралса гле подертвовал собой для других и они закончили то что Эммет начал надавали люлей Президенту и копам и мир не взорвался а Эммет вижил! Конец!
Вот такая программа позволяет инвертировать нечётные биты во введённом 16-ти разрядном числе (тип word).
Если что, счёт битов я брал начиная с нуля. Поэтому, младший бит (нулевой) считается чётным. Если вдруг у вас там принято считать биты начиная с единицы, то младший будет нечётным, и тогда в строке где b := 2; надо поставить единицу вместо двух.
Также, я сделал отображение всех 16 разрядов введённого числа, и числа которое получилось после инверсии битов (то есть, число выводится в двоичном виде, начиная со старших разрядов). Это сделано для удобства проверки работы программы.
После проверки лучше удалить эти две строки (они выделены жирным шрифтом), ведь в задании не сказано выводить числа в двоичном виде.
Коп их стрелял но бэтмен их они полетели в Заоблачную даль
К другим крутим людям которие б им мир но из-за жучка прилетели копы и взорвали Заоблачную даль всех посадили в тюрмю но банда Эммета уцелела они пошли к Президенту гле их ожидали и словили все билы без но Эммет вибралса гле подертвовал собой для других и они закончили то что Эммет начал надавали люлей Президенту и копам и мир не взорвался а Эммет вижил!
Конец!
Вот такая программа позволяет инвертировать нечётные биты во введённом 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.