Главная Учебники - Разные Лекции (разные) - часть 35
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)
Ответ
: –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) Запишем ответ, причѐм в мантиссу вписываем только еѐ дробную часть. 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) Запишем ответ, причѐм в мантиссу вписываем только еѐ дробную часть.
|