Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Машинное представление чисел с фиксированной точкой
Кроме целых чисел, в процессе вычислений часто требуется работать с рациональными числами. Чаще всего это необходимо при цифровой обработке сигналов в сигнальных процессорах или в микроконтроллерах. Такие числа могут быть как целыми, так и дробными. Точка мысленно фиксируется рядом с любым разрядом. Если она располагается справа от младшего бита, то число целое (рисунок 2.2), если слева от старшего – число дробное (рисунок 2.3), если двоичная запятая находится точно посередине числа, то тогда можем записывать числа, содержащие как целую, так и дробную части (рисунок 2.4).
Рисунок 2.2 – Формат 8-разрядного целого беззнакового двоичного кода
Рисунок 2.3 – Формат 8-разрядного дробного беззнакового двоичного кода
Рисунок 2.4 – Формат 8-разрядного смешанного беззнакового двоичного кода
Далее будут рассматриваться только целые числа с фиксированной точкой, для нецелых чисел чаще применяется показательная форма, о которой пойдет речь дальше. Кодирование отрицательных чисел производится тремя наиболее употребительными способами, в каждом из которых крайний левый бит – знаковый. Отрицательному числу соответствует единичный бит, а положительному - нулевой. Каждый способ оценивается по скорости и затратам на выполнение сложенияи изменения знака числа, т. к. вычитание есть сложение с измененным знаком одного операнда. Для двоичного представления знаковых рациональных чисел могут быть использованы прямой, обратный и дополнительный коды чисел. Многообразие применяемых кодов определяется их достоинствами и недостатками, а также особенностями используемых операционных устройств. Например, прямой код удобен для хранения и передачи чисел, обратный и дополнительный коды – для выполнения арифметических операций. 1. Прямой код. Изменение знака производится просто, путем инверсии бита знака. Пусть 0. 0001001 2 = + 910, тогда 1. 0001001 2 = - 910. Если при сложении двух чисел в этом коде знаки совпадают, то трудностей нет. Если знаки различаются, то необходимо: - найти наибольшее число; - вычесть из него меньшее; - результату присвоить знак наибольшего слагаемого. 2. Обратный код, инверсный или дополнительный "до 1". Изменение знака производится просто – инверсией всех бит: 00001001 2 = 910, а 11110110 2 = - 910. Сложение также выполняется просто, т. к. знаковые биты можно складывать. При переносе единицы из левого (старшего) бита, она должна складываться с правым (младшим). Например: + 7 + (- 5) = 2.
Сложение в обратном коде происходит быстрее, т. к. не требуется принятие решения, как в предыдущем случае. Однако суммирование бита переноса требует дополнительных действий. Другим недостатком этого кода является представление нуля двумя способами, т. к. инверсия 0...00 равна 1...11 и сумма двух разных по знаку, но равных по значению чисел дает 1...11.Например: (00001001 = 9) + (11110110 = - 9) = 11111111. Кстати, из этого примера понятно, почему код называется дополнительным "до 1". Этих недостатков лишен дополнительный или дополнительный «до 2» код.
3. Дополнительный или дополнительный "до 2" код. Число с противоположным знаком находится путем инверсии исходного числа и добавлением к результату единицы. Например, найти код числа минус 9.
Проблемы двух нулей нет. + 0 = 00000000, - 0 = 11111111 + 1 = 00000000 (перенос из старшего бита не учитывается). Сложение производится по обычным для неотрицательных чисел правилам.
Из этого примера видно, что в каждом разряде двух равных по модулю чисел складываются две единицы, что и определило название способа. Этот метод применяется наиболее часто, и когда говорят о дополнительном коде, то имеется в виду дополнительный "до 2-х" код. Числа с фиксированной точкой имеют свои диапазоны: - беззнаковые числа: 0 < D < 2 n -1, где n – число разрядов:
- числа со знаком: - 2 n -1 < D < + 2 n -1 -1, где где n – число разрядов:
|
|||||
Последнее изменение этой страницы: 2021-03-09; просмотров: 73; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.30.162 (0.006 с.) |