РефератыИнформатикаПрПримеры выполнения заданий по программированию

Примеры выполнения заданий по программированию

1.
Переведите данное число из десятичной системы счисления в двоично-десятичную.


В двоично-десятичном представлении каждая цифра числа кодируется по отдельности четырьмя битами.



2.
Переведите данное число из двоично-десятичной системы счисления в десятичную.


Так как в двоично-десятичном представлении каждая цифра числа кодируется по отдельности четырьмя битами, то исходное число разбиваем на группы по 4 цифры (бита) и переводим каждую такую группу в одну десятичную цифру.



3.
Зашифруйте данный текст, используя таблицу ASCII-кодов.



Коды больших английских букв: 065 (A) – 090 (Z)


Коды строчных английских букв: 097 (a) – 122 (z)


Коды больших русских букв: 168 (Ё), 192(А) – 223 (Я)


Коды строчных русских букв: 184 (ѐ), 224 (а) – 255 (я)


Коды арабских цифр: 048 (0) – 057 (9)


Код пробела – 032


В задании следует обращать внимание на регистр букв (большие / строчные).



4.
Запишите прямой, обратный и дополнительный код числа, интерпретируя его как восьмибитовое целое без знака и со знаком.


Прямой, обратный и дополнительный коды положительного числа совпадают с его двоичным представлением. А для отрицательного числа нужно воспользоваться соответствующим алгоритмом (см. в методичке).


Целые числа хранятся в памяти ЭВМ в ячейках размером 8, 16, 32 или 64 бита, в зависимости от величины данного числа. Если для представления числа вашего варианта не хватает восьми бит, следует использовать 16 (или больше, если не хватает и этого).


При выполнении задания можно пользоваться калькулятором.



5.
Запишите в десятичной системе счисления целое число, если дан его дополнительный код.


Чтобы получить исходное десятичное число из его дополнительного кода, нужно воспользоваться соответствующим алгоритмом кодирования в обратном порядке (при этом можно пользоваться калькулятором).


Если в старшем (самом левом) разряде единица, то закодировано отрицательное число, следовательно, пользуемся алгоритмом для отрицательных чисел:


a) Из двоичного представления вычесть единицу.


b) Инвертировать биты (заменить единицы нулями, а нули – единицами).


c) Перевести в десятичную систему счисления.


d) Записать ответ (отрицательное число).


Если же в старшем (самом левом) разряде ноль, то закодировано положительное число, следовательно, пользуемся алгоритмом для положительных чисел:


a) Перевести в десятичную систему счисления.


b) Записать ответ (положительное число).


Примеры выполнения задания:




5) дополнительный код 1110101101100010


В старшем разряде единица, значит, закодировано отрицательное число.


Воспользуемся соответствующим алгоритмом:


a) 1110101101100010(2)
– 1(2)
= 1110101101100001(2)


b) После инвертирования 0001010010011110(2)


c) 1010010011110(2)
= 5278(10)


ign:left;">Ответ
: –5278(10)



5) дополнительный код 0110101101100010


В старшем разряде ноль, значит, закодировано положительное число.


Воспользуемся соответствующим алгоритмом:


0110101101100010(2)
= 27490(10)


Ответ
: 27490 (10)


6.
Запишите код действительного числа, интерпретируя его как величину типа Double.


Для выполнения этого задания нужно использовать алгоритм кодирования действительных чисел, который рассмотрен в методичке. При выполнении задания можно пользоваться калькулятором.


Примеры выполнения задания:






5) 397,15625


Воспользуемся алгоритмом для кодирования действительного числа:


a) 397,15625(10)
= 110001101,00101(2)


b) Нормализуем мантиссу:


110001101,00101(2)
= 1,1000110100101(2)
* 28


(умножаем на 2 в степени 8, так как сдвинули запятую на 8 разрядов)


М = 1,1000110100101(2)
- нормализованная мантисса


Р = 8 - порядок


c) Прибавляем к порядку смещение. Для типа double смещение = 1023.


Рсмещѐнный
= 8 + 1023 = 1031(10)
= 10000000111(2)


d) Так как исходное число положительное, то представление знака = 0.


e) Запишем ответ, причѐм в мантиссу вписываем только еѐ дробную часть.










Знак Смещѐнный порядок Мантисса
0 10000000111 10001101001010 ... 0

5) –397,15625


Воспользуемся алгоритмом для кодирования действительного числа:


a) Переводим модуль числа в двоичную систему:


|–397,15625(10)
| = 397,15625(10)
= 110001101,00101(2)


b) Нормализуем мантиссу:


110001101,00101(2)
= 1,1000110100101(2)
* 28


(умножаем на 2 в степени 8, так как сдвинули запятую на 8 разрядов)


М = 1,1000110100101(2)
- нормализованная мантисса


Р = 8 - порядок


c) Прибавляем к порядку смещение. Для типа double смещение = 1023.


Рсмещѐнный
= 8 + 1023 = 1031(10)
= 10000000111(2)


d) Так как исходное число отрицательное, то представление знака = 1.


e) Запишем ответ, причѐм в мантиссу вписываем только еѐ дробную часть.










Знак Смещѐнный порядок Мантисса
1 10000000111 10001101001010 ... 0

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Примеры выполнения заданий по программированию

Слов:787
Символов:7705
Размер:15.05 Кб.