MR2 MR1 MR0
Пример 1
Неокругленное значение, где 15-й разряд равен 1 xxxxxxxx xxxxxxxx 00100101 1xxxxxxxxxxxxxxx
Прибавление 1 к 15-му разряду и учет переноса 100000000 0000000
Округленное значение xxxxxxxx хххххххх 00100110 0xxxxxxxxxxxxxxx
Пример 2
Неокругленное значение, где 15-й разряд равен 1, а разряды с 0-го по 14-й равны нулю xxxxxxxx хххххххх 00100110 100000000 0000000
Прибавление 1 к 15-му разряду и учет переноса 100000000 0000000
Неокругленное значение, где бит 16 равен 1 xxxxxxxx хххххххх 00100111 00000000 00000000
Установка 16-го разряда в ноль и получение округленного значения xxxxxxxx хххххххх 00100110 00000000 00000000

x — произвольное значение (0 или 1).

В первом примере число не является срединным и производится его стандартное округление.

Во втором примере число имеет срединное значение, поэтому его 16-й разряд устанавливается в ноль. Алгоритм округления применяется для каждой операции округления, но становится очевидным лишь при таком наборе младших бит, который показан в примере 2.

Смещенное округление

В процессорах ADSP-2181 возможен режим смещенного округления. Этот режим выбирается путем установки 12-го бита (BIARND) регистра управления SPORT0. Если BIARND=0, то используется операция несмещенного округления, если BIARND=1, то смещенного. Примеры таких операций приведены в табл. 15.5.

Таблица 15.5 Примеры операций округления

Значение регистра MR до округления Результат округления со смещением Результат округления без смещения
00-0000-8000 00-0001-8000 00-0000-8000
00-0001-8000 00-0002-8000 00-0002-8000
00-0000-8001 00-0001-8001 00-0001-8001
00-0001-8001 00-0002-8001 00-0002-8001
00-0000-7FFF 00-0000-7FFF 00-0000-7FFF
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

1

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату