samsakovs7757
?>

Получить шестнадцатеричную форму внутреннего представления числа в формате с плавающей точкой в 4-х байтовой ячейке

Информатика

Ответы

Денис_Петровна

Вот такая программа позволяет инвертировать нечётные биты во введённом 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.


Дано целое неотрицательное число. Получить число, инвертируя его нечетные биты. Решить в паскале
Дано целое неотрицательное число. Получить число, инвертируя его нечетные биты. Решить в паскале
Дано целое неотрицательное число. Получить число, инвертируя его нечетные биты. Решить в паскале
Svetlana ALLA

2390640  47812.8

Код для проверки:

a = "47501 8457 25038 64796 43635 27741 13599 16646 33383 27387 85950 46875 51203 2032 69579 21199 24827 85911 77405 56783 92078 34166 88930 63958 55653 57578 29703 15 67843 41754 3049 78248 85967 82073 34483 90759 5611 34864 2598 53369 66018 79730 80094 39156 76747 87356 14123 68448 34320 12002"

summ = 0

count = 0

add = ''

for i in range(len(a)):

 if a[i] != " ":

   add = add + a[i]

 if a[i] == " " or (i+1) == len(a):

   summ += int(add)

   count += 1

   add = ''

print(summ)

print(summ/count)

   

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Получить шестнадцатеричную форму внутреннего представления числа в формате с плавающей точкой в 4-х байтовой ячейке
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

yurogov61
melissa-80
fedorenkoroman
partners
Viktorovna_Yurevna
игнатова_Сергей1228
Как записать это в блок схему?
Valerevna
hamelleon43
Alyona
ирина_Андреевич1634
gen218
agaltsova86
Коваленко
vladai2
billl24