Вокруг к самому близкому целому числу со связями, округляющимися к положительной бесконечности
y = nearest(a)
y = nearest(a)
объект fi
раундов a
к самому близкому целому числу или, в случае связи, к самому близкому целому числу в направлении положительной бесконечности, и возвращает результат в объекте fi
y
.
y
и a
имеют тот же объект fimath
и свойство DataType
.
Когда свойством DataType
a
является Single
, Double
или Boolean
, numerictype
y
совпадает с numerictype a
.
Когда дробная длина a
является нулем или отрицательный, a
уже является целым числом, и numerictype
y
совпадает с numerictype a
.
Когда дробная длина a
положительна, дробной длиной y
является 0
, его знак совпадает со знаком a
, и его размер слова является различием между размером слова и дробной длиной a
плюс один бит. Если a
подписывается, то минимальным размером слова y
является 2
. Если a
без знака, то минимальным размером слова y
является 1
.
Для комплексных объектов fi
мнимые и действительные части округлены независимо.
nearest
не поддерживает объекты fi
с нетривиальным наклоном и масштабированием смещения. Масштабирование наклона и смещения тривиально, когда наклон является целочисленной степенью 2, и смещение 0.
Следующий пример демонстрирует, как функция nearest
влияет на свойства numerictype
объекта fi
со знаком с размером слова 8 и дробной длиной 3.
a = fi(pi, 1, 8, 3) a = 3.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 3 y = nearest(a) y = 3 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 6 FractionLength: 0
Следующий пример демонстрирует, как функция nearest
влияет на свойства numerictype
объекта fi
со знаком с размером слова 8 и дробной длиной 12.
a = fi(0.025,1,8,12) a = 0.0249 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 12 y = nearest(a) y = 0 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 2 FractionLength: 0
convergent
функций, nearest
и round
отличаются по способу, которым они обрабатывают значения, младшая значащая цифра которых равняется 5:
Функция convergent
округляет связи с самым близким даже целое число
Функция nearest
округляет связи с самым близким целым числом к положительной бесконечности
Функция round
округляет связи с самым близким целым числом с большим абсолютным значением
Следующая таблица иллюстрирует эти различия для данного объекта fi
a
.
a | конвергентный (a) | самый близкий (a) | раунд (a) |
---|---|---|---|
–3.5 | –4 | –3 | –4 |
–2.5 | –2 | –2 | –3 |
–1.5 | –2 | –1 | –2 |
–0.5 | 0 | 0 | –1 |
0.5 | 0 | 1 | 1 |
1.5 | 2 | 2 | 2 |
2.5 | 2 | 3 | 3 |
3.5 | 4 | 4 | 4 |
ceil
| convergent
| fix
| floor
| round