- •3.1 Представление данных в алгоритме.
- •3.2 Представление данных в программе
- •3.3 Представление данных в цпос
- •3.5. Форматы данных
- •3.7.3. Представление вещественных чисел
- •3. 7. 4. Шестнадцатеричный эквивалент представления данных
- •3. 7. 5. Целочисленная и дробная арифметики
- •3.7.6. Коды чисел
- •Прямой код
- •Дополнительный код
- •Двойное слово
- •Msp lsp
- •Ext msp lsp
- •3. 7.7. Представление данных
- •Сложение и вычитание
- •Умножение
- •Замечание
- •3.7.10. Преобразование форматов в цпос с фиксированной точкой
- •3.7.11. Диапазон, динамический диапазон
- •3.7.12. Увеличение динамического диапазона
- •3. 8. 2. Форма представления данных с плавающей точкой
- •3.8.4. Преобразование форматов в цпос с плавающей точкой
- •3.8.5. Нормализованные числа j
- •3,8.6. Специально данные
- •3.8.7. Арифметические операции над данными с плавающей точкой
- •3.8.8. Диапазон, динамический диапазон и точность представления чисел с плавающей точкой
- •3.9. Сравнение цпос с фиксированной и плавающей точками
- •3.10. Организация обработки данных с плавающей точкой в цпос с фт
3.7.11. Диапазон, динамический диапазон
и точность представления чисел
с фиксированной точкой
Диапазон представления чисел устанавливает границы между минимально и максимально допустимыми значениями, представляемыми в заданном формате и коде.
Динамический диапазон ДД определяют как:
ДД = maxзначение /minзначение = 0 ,
где maxзначение иminзначение = 0 представлены в заданном формате и коде.
Динамический диапазон ДД в децибелах равен
ДД (дБ) = 20 lg(ДД).
Точность представления чисел определяетмаксимально допустимую точностьпредставлениядробной части вещественных чисел.
Напомним, что в двоичной системе счисления при заданном формате целые числа (в том числе, целые части вещественных чисел) представляютсяточно, адробные – приближено. Максимально допустимаяошибка при представлении дробных чисел равна:
2-b-1= 2-(b+1)= 2-m _ половине младшего значащего бита (половине шага квантования) приокруглении;
2-b _младшему значащему биту (шагу квантования) приусечении,
где b– количество значащих битов;n=b_ 1;m– длина слова, в котором представляется число, например, для словаm=n, для двойного словаm= 2n.
Точность представления измеряется в битах и определяется как:
log2(maxзначение /maxошибка при округлении ),
где maxзначение соответствует:
для дробных чисел – максимальному (по модулю) значению, представленному в заданном формате и коде;
для смешанных чисел – максимальному (по модулю) значению дробной части числа, представленной в заданном формате и коде.
Определим диапазон, динамический диапазон и точность представления данных различных типов.
Данные целого типа.
Целые числа со знаком.
Диапазон представления целых чисел со знаком в формате “слово” длинойnв дополнительном
коде равен:
_2b <C< 2b _ 1,
где C– значение целого числа.
Динамический диапазон ДД равен
ДД = _ 2b/ 1 = 2b
Например, при длине слова 16 битов диапазон равен
_215<C< 215 _ 1,
а динамический диапазон
ДД = 215;
или в децибелах
ДД (дБ) = 20 lg(215) = 90, 3 дБ.
Аналогично можно определить диапазон представления и динамический диапазон для чисел в
формате “двойное слово” длиной 2n. Например, при длине двойного слова 32 битадиапазон
представления равен
_231<C< 231_1,
а динамический диапазон
ДД = 231
или в децибелах
ДД (дБ) = 20 lg(231) = 186, 6 дБ.
Беззнаковые числа.
Диапазон представления целых беззнаковых чисел в формате слово длинойnв дополнительном коде
вдвое больший, чем для целых со знаком (знаковый бит включен в число значащих) и равен:
0 < C< 2n _1.
Данные вещественного типа.
Дробные числа.
Диапазон представления дробных чисел не зависит от типа арифметики (целочисленная/ дробная).
В формате “слово” длиной n(форматQb) в дополнительном коде диапазон равен
_1 <C< 1_2-b,
где C—значение дробного числа.
Модуль дробного числа не превышает 1 независимо от длины формата.
Замечание
При целочисленной арифметике не следует путать диапазоны представляемых дробных чисел и их целочисленных эквивалентов. Диапазон представления целочисленных эквивалентов такой же как у целых чисел.
Динамический диапазон ДД, равный
ДД = _1 / 2-b = 2b,
У дробных чисел точно такой же, как у целых чисел при одинаковом формате и коде. Например, при длине слова 16 битов, диапазон равен
_1 <C< 1_ 215,
а динамический диапазон
ДД = 215
Или в децибелах
ДД (дБ) = 90,3 дБ.
Аналогично можно определить диапазон представления и динамический диапазон для дробных чисел в формате “двойное слово” длиной 2n. Например, при длине двойного слова 32 битадиапазон представления равен
_1 <C<1 _2-31,
а динамический диапазон
ДД = 231
или в децибелах
ДД (дБ) = 186,6 дБ.
Согласно определению, точностьпредставления дробного числа, например, при длине слова 16 битов, равна
log2(_1 / 2-n ) = 16 бит
при длине слова 32 бита – 32 битам и т. д.
Подчеркнем, что определяемая таким образом точность является максимально допустимой. Числа, меньше максимального значения (меньше 1 по модулю), представляются с большей точностью.
Смешанные числа.
Наличие расширения EXTв слове позволяет привнутреннихвычислениях хранитьсмешанные числа.
Диапазон их представления в дополнительном коле равен
_2EXT < C < 2EXT _ 2-(k – EXT –1),
где C– значение смешанного числа;k– длина расширенного слова, равная длине смешанного числа со знаком;EXT– длина расширенияEXT, равная длине целой части числа; (k_EXT_1) – длина дробной части числа.
Динамический диапазон равен
ДД = _2EXT / 2–(k –EXT –1)= 2(k-1).
Точность представления дробной части смешанного числа в соответствии с определением равна
log 2( _1 / 2-(k-EXT) ) = (k _ EXT ) бит,
где 2 – (k –EXT) = 2-(k-EXT –1) – 1-- максимально допустимая ошибка при округлении дробной части числа, равная половине младшего значащего бита.
Например, для расширенного слова длиной k= 56 битов (слово аккумулятора в процессорах семейств
DSP560xxфирмыMotorola) и длине расширенияEXT8 битовдиапазон представления равен
_28<C< 28 _2–47;
динамический диапазон
ДД = 255
или в децибелах
ДД (дБ) = 331 дБ;
точность представления дробной части числа равна (56_8) = 48 бит.