Лайонс Р. Цифровая обработка сигналов. Второе издание. Пер. с англ. (2006) (1095938), страница 91
Текст из файла (страница 91)
Шестнадцатеричные числа Другой популярный двоичный формат — формат шестнадцатеричных чисел, использующий в качестве основания число 16. Преобразование из двоичного в шестнадцатеричный формат выполняется разбиением двоичного числа на четырехбитовые группы, начиная справа. Двоичное число 101010012 преобрззуется в шестнадцатеричное как 101010012- 1010 ~ 1001=А9~е. Если вы не сталкивались раньше с использованием шестнадцатеричного формата, пусть запись А9 не смущает вас.
В этом формате символы А, В, С, Р, Е и Р представляют значения разрядов, которые в десятичной системе представляются как 10, 11, 12, 13, 14 и 15 соответственно. Мы преобразуем две группы битов в два шестнадцатеричных разряда, начиная с левой группы: 10102 = 10ш = Аьз и 10012 = 9~о = 9~в. Шестнадцатеричные числа также являются позиционными, а это значит, что А9~з = (А ' 16~ + 9 ° 16о). Следовательно, для удобства мы можем представить восьмибитовое число 101010012 двухразрядным числом А9пь В таблице 12.1 приведены допустимые значения разрядов для рассмотренных выше систем счисления.
12.1.3. Дробные двоичные числа Дроби (числа, модуль которых больше нуля и меньше единицы) тоже могут быть представлены двоичными числами, если мы используем двоичную запятую, которая выполняет ту же функцию, что и знакомая нам десятичная запятая. В двоичных числах, о которых мы говорили до сих пор, предполагается, что двоичная 440 Глава 12. и оаые о матыданных и их ель а об аботке сигналов запятая находится справа от самого правого разряда.
Используя для обозначения двоичной запятой символ О, мы можем показать, что шестибитовая дробь 11 о 0101 равна десятичному числу 3.3125: (1,21) + (1 ° 20) + (О'2-1) + (1,2 — 2) + (Ое2 — 3) + (1,2-4) = (1'2) + (1 ° 1) + (О' 1/2) -~ (1 ° 1/4) + (О' 1/8) + (1 ° 1/16) = -2+ 1+ О+ 0.25+ 0+ 0.0625-33125. (12-4) Таблица 12.1.
Допустимые представления разрядов для разных оснований системы счисления Двоичная Восьмеричная Десятичная Шестнадцатеричная Десятичный эквивалент 10 14 В примере (12-4) двоичная запятая поставлена между вторым и третьим старшими разрядами. Из-за такого фиксированного положения двоичной запятой подобные двоичные числа часто называют двоичными числами с фиксированной занятой.
Для некоторых форматов двоичных чисел (наподобие форматов с плавающей запятой, о которых мы вскоре поговорим), двоичную запятую помещают слева от старшего бита. Это делает числа принадлежащими диапазону от нуля до единицы. В этом формате наибольшее и наименьшее возможные значения для Ь-битовой дроби составляют 1 — 2 ь и 2 Ь соответственно.
Для шестибитовой дроби, например, наибольшее значение составляет о 1111112, или 12.1. воичные о маты с иксу ованной запятой о(1'2 1) +(1'2 2) +(1'2 1) + (1'2 «) +(1'2 1) + (1'2 ь) = =,(1 ° 1!2) + (1 ° 1!4>+ (1 ° 11В>+ (1 ° 1116>+(1 ° 1УЗ2) + (1 ° 1164) = (12-5) =0 5 + 0 25 + О. 125 + 0 0625 + 0.03 125 + 0 0 15625 = 0.984375, 12.1.4. Двоичный формат «модуль плюс знак» Чтобы двоичные числа имели какую-то практическую ценность, они должны быть способны представлять отрицательные величины.
В двоичных числах это достигается выделением одного бита в двоичном слове для индикации знака числа. Рассмотрим популярный двоичный формат, известный как «модуль плюс знак». Здесь мы предполагаем, что левый крайний бит есть знаковый бит, а остальные биты представляют модуль числа, который всегда положителен. Например, мы можем сказать, что четырехбитовое число 0011з есть +31О, а двоичное число 10112 равно — 31З, или Биты модуля Биты модуля 1 О 1 1 з = -31о ОО1 1 =-З нулевой знаковый бит обозначает положительное число единичный знаковый бит обозначаетотрицательное число Конечно, использование одного из битов в качестве знака уменыпает диапазон представимых значений модуля чисел.
Если длина слова беззнакового числа равна Ь бит, количество разных значений может быть выражено как 2Ь. Например, восьмибитовое число может представлять 2З = 256 различных целых значений. Поскольку ноль включается в число значений, которые необходимо представить, Ь-битовое беззнаковое двоичное слово может представить целые числа от 0 до 2Ь-1. Наибольшее значение, представляемое беззнаковым восьмибитовым словом, равно 2З вЂ” 1 = 2551о - 11111111з. В двоичном формате «знак плюс модуль» Ь-битовое слово может представлять только числа в диапазоне +2Ь 1 — 1, так что наибольшее положительное и наименьшее отрицательное числа, которые мы можем представить восьмибитовым словом, содержащим модуль и знак, равны +2Ь-1 1 = т127 12.1.5.
Двоичный дополнительный формат Другая распространенная система представления двоичных чисел, известная как двоичный дополнительный формат, также использует крайний левый бит как знаковый. Двоичный дополнительный формат является наиболее удобным с точки зрения аппаратурной реализации и используется на протяжении десятилетий. что и есть 1 — 2 6 - 1 — 1/64 в десятичной системе. Наименьшее ненулевое число равно О000001з, что соответствует десятичному числу 1/64 = 0.0156251О. 442 Глава 12. и овые о матыданных них ольв об аботке сигналов Он делает возможным выполнение в компьютерах как сложения, так и вычитания на одной и той же аппаратуре. Чтобы получить отрицательный эквивалент положительного двоичного дополнительного числа, мы просто дополняем каждый бит (меняем единицу на ноль и ноль на единицу) и прибавляем к дополненному слову единицу. Например, если 00112 представляет десятичное число 3 в двоичном дополнительном формате, мы получаем отрицательное десятичное число 3 следующим образом: +3 в двоичном дополнительном формате - 0011 дополнение +3 - 1100 прибавление единицы +0001 -3 в двоичном дополнительном формате - 1101 В двоичном дополнительном формате Ь-битовое слово может представлять положительные числа до 2Ь 1 — 1 и отрицательные числа до — 2Ь 1.
В таблице 12.2 приведены примеры четырехбитовых слов в формате модуля со знаком и двоичном дополнительном формате. При использовании двоичных дополнительных чисел необходимо быть внимательными при сложении двух чисел разной длины. Рассмотрим случай сложения четырехбитового числа с восьмибитовым: +15 в двоичном дополнительном формате 00001111 плюс+3 в двоичном дополнительном формате - +0011 +18 в двоичном дополнительном формате - 00010010 Пока никаких проблем. Проблема возникает, когда наше четырехбитовое число меньше нуля.
Давайте попробуем вместо прибавления +3 к+15 прибавить — 3 к+15: +15 в двоичном дополнительном формате - 00001111 плюс — 3 в двоичном дополнительном формате - +1101 +28 в двоичном дополнительном формате - 00011100 Ошибка! Полученной выше ошибки можно избежать, если над четырехбитовым числом выполнить операцию расширения знака. Эта операция, выполняемая в аппаратуре'автоматически, распространяет знак четырехбитовго отрицательного числа влево, превращая это число в восьмибитовое. Если мы расширим знак числа — 3, а затем выполним сложение, мы получим правильный ответ: 12.1.
воичные о маты с иксу ованной запятой 443 +15 в двоичном дополнительном формате 00001111 плюс -3 в двоичном дополнительном формате с расширенным знаком +11111101 +15 в двоичиом дополнительном формате - 100001100 - Это уже лучше бит переполнения игнорируется Таблица12.2. Форматы двоичных чисел Двоичный Двоичный дополнительный со смещением формат Модуль со знаком Десятичный эквивалент 0111 1111 0111 0110 0110 1110 0101 0101 1101 0100 0100 1100 0011 0011 1011 0010 0010 1010 0001 0001 1001 +О 1000 0000 ОООО -0 1000 1001 1111 0111 1010 1110 0110 1011 1101 0101 0100 1100 1100 1101 1011 0011 1110 1010 0010 1001 0001 1111 1000 0000 12.1.6. Двоичный формат со смещением Еще одна популярная схема представления двоичных чисел известна как двоичный со смещением формат.
Хотя этот формат встречается не так часто, как двоичный дополнительный, он все еще используется в некоторых приборах. В таблице 12.2 приведены примеры двоичного со смещением формата для четырехбитовых слов. В этом формате отрицательные числа представляются разностью беззнакового числа и 2 1. Например, во второй строке таблицы 12.2 444 Глава 12. и овые о матыданнык и их ель а об аботке сигналов двоичное число со смещением равно 11102.
Когда это число интерпретируется как беззнаковое двоичное число, оно эквивалентно 1410. Для четырехбитовых слов Ь = 4 и 2Ь ~ = 8, так что 1410 — 810 = 610, что является десятичным эквивалентом 11102 в двоичном формате со смещением. Разность между эквивалентом двоичного беззнакового числа и десятичным эквивалентом двоичного числа со смещением в таблице 12.2 всегда равна 8. (Читателю интересно будет узнать, что мы можем преобразовывать числа из двоичного дополнительного формата в формат со смещением и обратно простым инвертированием старшего бита.) История, правила'выполнения арифметических операций и использование многих известных форматов чисел представляют собой обширное поле для исследования.
Подробное и доступное обсуждение этого предмета приводится в книге Кнута [2]. 12.2. Точность и динамический диапазон двоичных чисел динамический диапазон~в = 20 ' 1о810(наибольшее возможное значение слова/ /наименьшее возможное значение слова)- (12-6) = 20 ° 1о810~(2ь 1)/1) = 20 ° !о810(2ь 1) Когда 2Ь намного больше 1, мы можем игнорировать — 1 в (12-6) и записать динамический диапазонзв = 20 ° 1о810(2Ь) = = 20 ° 1оя10(2) ° Ь = 6.02 ° Ь дБ.