Процесс деления

Язык программирования C предоставляет доступ к целому делению только для типов данных с фиксированной точкой. В зависимости от размера числителя, можно получить некоторые дробные биты, выполнив сдвиг перед целым делением.

Предположим, вы хотите разделить две цифры. Каждое из этих чисел представлено 8-битным словом, и каждый имеет двоичное масштабирование только для точек 2-4. Кроме того, выход ограничен 8-битным словом с двоичным масштабированием только для точек 2-4.

Деление 9.1875 на 1.5000 показано в следующей модели.

В данном примере,

Qa=24(4)(4)(Qb/Qc)=24(Qb/Qc).

Если предположить, что большой тип данных был доступен, это может быть реализовано как

Qa=(24Qb)Qc,

где числитель использует больший тип данных. Если больший тип данных был недоступен, использовалось целочисленное деление в сочетании с четырьмя повторными вычитаниями. Оба подхода дают одинаковый результат, причем первый является более эффективным.

Для просмотра документации необходимо авторизоваться на сайте