В зависимости от конкретного приложения разработчик цифровой системы должен определить требуемый уровень точности вычислений и динамический диапазон системы. Для этого необходимо выбрать соответствующий формат данных для обработки в ЦСП. Обычно 16- и 24‑разрядные ЦСП используются для обработки данных в формате с фиксированной точкой (фиксированной запятой, ФЗ), а 32-разрядные ЦСП – для обработки данных в формате с плавающей точкой (плавающей запятой, ПЗ).
Представление данных с фиксированной запятой
Представление данных в ФЗ-формате означает, что для всех чисел заданного формата логически фиксируется одинаковое местоположение точки, разделяющей целую и дробную часть числа. Разряды слева от точки представляют целую часть числа и его знак (если число знаковое), а справа – дробную часть числа. Общим для целых и дробных ФЗ-чисел является возможность представления как знаковых, так и беззнаковых чисел.
Арифметические операции над ФЗ-числами выполняются практически одинаково независимо от фактического содержимого регистров. Поэтому задача правильной трактовки результатов целиком ложится на программиста.
|
|
Целые числа с фиксированной точкой
В целочисленном ФЗ-формате предполагается, что логическая (двоичная) точка расположена справа от самого младшего бита.
Целые ФЗ-числа могут быть знаковыми и беззнаковыми, причем знаковые числа представляются в дополнительном коде:
Бит | |||||||
Вес | -215 | 214 | 213 | … | 22 | 21 | 20 |
Знаковый бит |
Знаковое целое
Бит | |||||||
Вес | 215 | 214 | 213 | … | 22 | 21 | 20 |
Беззнаковое целое
Беззнаковые числа могут принимать только положительные значения и поэтому имеют почти вдвое больший диапазон, чем знаковые числа той же длины.
Целочисленный формат иногда обозначается в виде b. 0, т.е. b разрядов отводятся на представление целой части числа и его знака.