Задачи по "Информатике"
Автор: IvanK1987 • Февраль 14, 2021 • Задача • 655 Слов (3 Страниц) • 336 Просмотры
Число́ полови́нной то́чности — В наиболее распространённом формате (стандарт IEEE 754) число с плавающей запятой представляется в виде набора битов, часть из которых кодирует собой мантиссу числа, другая часть — показатель степени, и ещё один бит используется для указания знака числа (0 — если число положительное, 1 — если число отрицательное). При этом порядок записывается как целое число в коде со сдвигом, а мантисса — в нормализованном виде, своей дробной частью в двоичной системе счисления.
Знак | ||||||||||||||||
Порядок (exp) | Мантисса | |||||||||||||||
0 | 0 | 0 | 0 | 0 | 0 | 1, | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
14 | 10 | 9 | 0 |
Порядок записан со сдвигом −15. То есть, чтобы получить актуально значение порядка нужно вычесть из него сдвиг. В мантиссу записывается только дробная часть, т.к. целая всегда 1.
Задача 1. Какое машинное число соответствует -0,375?
- Нормализация
Нормализуем мантиссу (приведем к виду 1.xxx...x * 2^exp)
-0,375 = -1.5 * 2^-2
- Перевод в двоичный вид
Переводим нормализованную мантиссу в двоичный вид: 1,510 = 1.10000000002
(Мы ввели число: 1.510 в десятичной системе счисления и хотим перевести его в двоичную.
Дробная часть числа находится умножением на основание новой
[pic 1] | |
0 | .5 |
. | 2 |
1 | 0 |
Получилось: 0.510 = 0.12. Сложим вместе целую и дробную часть вот так: 12 + 0.12 = 1.12.
Результат перевода: 1.510 = 1.12 )
Порядок со смещением: -2 + 15 = 1310 = 011012
- Результат
Знак | Порядок со смещением | Дробная часть мантиссы |
1 | 01101 | 1000000000 |
Группируем по байтам и получаем ответ: 1011 0110 0000 0000 = B60016
Ответ: -0.37510 = B60016
Задача 2. Закодировать D7 кодом Хемминга с 8 информационными и 4 проверочными битами
Переводим в двоичную систему: D7 = 1101 0111
Номера бит | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Сообщение | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 |
Добавляем контрольные биты
Контрольные биты располагаются в тех номерах битов, которые равны степеням двойки, т.к. алфавит двоичный.
То есть: Два в степени 0 — это единица, два в степени 1 = два, два в степени 2 = четыре, а два в степени 3 = восемь. Значит контрольные биты будут находиться в битах под номерами 1, 2, 4, 8
Вставим в информационное сообщение контрольные биты. Получим 12-разрядное слово с 8 информационными и 4 проверочными битами. Первоначально контрольные биты устанавливаем равными нулю.
Номера бит | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
Сообщение + проверочные биты | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 |
...