Класс Float16
- Все реализуемые интерфейсы:
Serializable, Comparable<Float16>
public final class Float16 extends Number implements Comparable<Float16>
Float16 — это класс, хранящий 16-битные данные в формате IEEE 754 binary16. Формат Binary16:
S EEEEE MMMMMMMMMM
Знак — 1 бит
Экспонента — 5 бит
Значащая часть — 10 бит (не включает неявный бит, выводимый из экспоненты; см. PRECISION)
Если не указано иное, методы этого класса используют правило округления (JLS 15.4) — округление к ближайшему.
Это класс, основанный на значениях; программистам следует считать экземпляры, которые равны, взаимозаменяемыми и не использовать экземпляры для синхронизации, иначе может возникнуть непредсказуемое поведение. Например, в будущей версии синхронизация может завершиться неудачно.
Равенство, эквивалентность и сравнение чисел с плавающей точкой
В классеjava.lang.Double приведено обсуждение равенства, эквивалентности и сравнения чисел с плавающей точкой, которое в равной мере применимо к значениям Float16. Проблемы преобразования десятичных чисел в двоичные и обратно
Обсуждение проблем преобразования двоичных чисел в десятичные вjava.lang.Double также применимо к значениям Float16.- Примечание к API:
- Методам этого класса, как правило, соответствуют аналогичные методы в
Float/DoubleилиMath/StrictMath. Если не указано иное, обработка особыми значениями с плавающей точкой, такими как значения NaN, бесконечности и числа с нулевым значением и знаком, методами этого класса полностью аналогична обработке соответствующих случаев методами вFloat,Double,Mathи т. д. - Начиная с версии:
- 24
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
BYTES |
Количество байтов, используемых для представления значения Float16: 2. |
static final int |
MAX_EXPONENT |
Максимальная экспонента, которую может иметь конечная переменная Float16: 15. |
static final Float16 |
MAX_VALUE |
Константа, содержащая наибольшее положительное конечное значение типа Float16, (2-2-10)·215, численно равное 65504.0. |
static final int |
MIN_EXPONENT |
Минимальная экспонента, которую может иметь нормализованная переменная Float16: -14. |
static final Float16 |
MIN_NORMAL |
Константа, содержащая наименьшее положительное нормальное значение типа Float16: 2-14. |
static final Float16 |
MIN_VALUE |
Константа, содержащая наименьшее положительное ненулевое значение типа Float16: 2-24. |
static final Float16 |
NaN |
Константа, содержащая значение «не число» (NaN) типа
Float16. |
static final Float16 |
NEGATIVE_INFINITY |
Константа, содержащая отрицательную бесконечность типа
Float16. |
static final Float16 |
POSITIVE_INFINITY |
Константа, содержащая положительную бесконечность типа
Float16. |
static final int |
PRECISION |
Количество битов в значащей части значения Float16: 11. |
static final int |
SIZE |
Количество битов, используемых для представления значения Float16: 16. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static Float16 |
abs |
Возвращает абсолютное значение аргумента. |
static Float16 |
add |
Складывает два значения Float16 в соответствии с семантикой оператора +, используя правило округления к ближайшему. |
byte |
byteValue() |
Возвращает значение этого Float16 как byte после сужающего примитивного преобразования. |
static int |
compare |
Сравнивает два указанных значения Float16. |
int |
compareTo |
Сравнивает численно два объекта Float16. |
static Float16 |
copySign |
Возвращает первый аргумент с плавающей точкой со знаком второго аргумента с плавающей точкой. |
static Float16 |
divide |
Делит два значения Float16 в соответствии с семантикой оператора /, используя правило округления к ближайшему. |
double |
doubleValue() |
Возвращает значение этого Float16 как double после расширяющего примитивного преобразования. |
boolean |
equals |
Сравнивает этот объект с указанным объектом. |
static short |
float16ToRawShortBits |
Возвращает представление указанного значения с плавающей точкой в соответствии с битовой раскладкой IEEE 754 binary16 для чисел с плавающей точкой. |
static short |
float16ToShortBits |
Возвращает представление указанного значения с плавающей точкой в соответствии с битовой раскладкой IEEE 754 binary16 для чисел с плавающей точкой. |
float |
floatValue() |
Возвращает значение этого Float16 как float после расширяющего примитивного преобразования. |
static Float16 |
fma |
Возвращает результат слитого умножения с последующим сложением для трех аргументов: точное произведение первых двух аргументов складывается с третьим аргументом, после чего выполняется однократное округление до ближайшего Float16. |
static int |
getExponent |
Возвращает несмещенную экспоненту, используемую в представлении Float16. |
int |
hashCode() |
Возвращает хеш-код этого объекта Float16. |
static int |
hashCode |
Возвращает хеш-код значения Float16; совместим с Float16.hashCode(). |
int |
intValue() |
Возвращает значение этого Float16 как int после сужающего примитивного преобразования. |
static boolean |
isFinite |
Возвращает true, если аргумент является конечным значением с плавающей точкой; в противном случае возвращает false (для аргументов NaN и бесконечности). |
static boolean |
isInfinite |
Возвращает true, если модуль указанного числа бесконечно велик, и false в противном случае. |
static boolean |
isNaN |
Возвращает true, если указанное число является значением «не число» (NaN), и false в противном случае. |
long |
longValue() |
Возвращает значение этого Float16 как long после сужающего примитивного преобразования. |
static Float16 |
max |
Возвращает большее из двух значений Float16. |
static Float16 |
min |
Возвращает меньшее из двух значений Float16. |
static Float16 |
multiply |
Перемножает два значения Float16 в соответствии с семантикой оператора *, используя правило округления к ближайшему. |
static Float16 |
negate |
Возвращает противоположное значение аргумента. |
static Float16 |
nextDown |
Возвращает соседнее значение с плавающей точкой в направлении отрицательной бесконечности относительно v. |
static Float16 |
nextUp |
Возвращает соседнее значение с плавающей точкой в направлении положительной бесконечности относительно v. |
static Float16 |
scalb |
Возвращает v × 2scaleFactor с округлением, как если бы результат был получен одним корректно округленным умножением с плавающей точкой. |
static Float16 |
shortBitsToFloat16 |
Возвращает значение Float16, соответствующее заданному битовому представлению. |
short |
shortValue() |
Возвращает значение этого Float16 как short после сужающего примитивного преобразования. |
static Float16 |
signum |
Возвращает знаковую функцию аргумента: ноль, если аргумент равен нулю; 1.0, если аргумент больше нуля; -1.0, если аргумент меньше нуля. |
static Float16 |
sqrt |
Возвращает квадратный корень операнда. |
static Float16 |
subtract |
Вычитает два значения Float16 в соответствии с семантикой оператора -, используя правило округления к ближайшему. |
static String |
toHexString |
Возвращает шестнадцатеричное строковое представление аргумента
Float16. |
String |
toString() |
Возвращает строковое представление этого Float16. |
static String |
toString |
Возвращает строковое представление аргумента Float16. |
static Float16 |
ulp |
Возвращает размер ulp аргумента. |
static Float16 |
valueOf |
Возвращает значение Float16, округленное из аргумента double с использованием правила округления к ближайшему. |
static Float16 |
valueOf |
Возвращает значение Float16, округленное из аргумента float с использованием правила округления к ближайшему. |
static Float16 |
valueOf |
Возвращает значение int, преобразованное в
Float16. |
static Float16 |
valueOf |
Возвращает значение long, преобразованное в Float16. |
static Float16 |
valueOf |
Возвращает объект Float16, содержащий значение с плавающей точкой, представленное строкой аргумента. |
static Float16 |
valueOf |
Возвращает значение Float16, округленное из аргумента BigDecimal с использованием правила округления к ближайшему. |
Подробное описание полей
POSITIVE_INFINITY
public static final Float16 POSITIVE_INFINITY
Float16.- См. также:
NEGATIVE_INFINITY
public static final Float16 NEGATIVE_INFINITY
Float16.- См. также:
NaN
public static final Float16 NaN
Float16.- См. также:
MAX_VALUE
public static final Float16 MAX_VALUE
Float16, (2-2-10)·215, численно равное 65504.0.- См. также:
MIN_NORMAL
public static final Float16 MIN_NORMAL
Float16, 2-14.- См. также:
MIN_VALUE
public static final Float16 MIN_VALUE
Float16, 2-24.- См. также:
SIZE
public static final int SIZE
Float16, — 16.- См. также:
PRECISION
public static final int PRECISION
Float16 — 11. Это соответствует параметру N в разделе 4.2.3 Спецификации языка Java.- См. также:
MAX_EXPONENT
public static final int MAX_EXPONENT
Float16, — 15. Он равен значению, возвращаемому методом
Float16.getExponent(Float16.MAX_VALUE).- См. также:
MIN_EXPONENT
public static final int MIN_EXPONENT
Float16, — -14. Он равен значению, возвращаемому методом
Float16.getExponent(Float16.MIN_NORMAL).- См. также:
BYTES
public static final int BYTES
Float16, — 2.- См. также:
Подробное описание методов
toString
public static String toString(Float16 f16)
Float16. Поведение этого метода аналогично поведению метода Float.toString(float) при обработке специальных значений (знаковых нулей, бесконечностей и NaN) и формировании десятичной строки, преобразование которой обратно даст значение аргумента.- Параметры:
-
f16— значениеFloat16, которое требуется преобразовать. - Возвращает:
- строковое представление аргумента.
- См. также:
toHexString
public static String toHexString(Float16 f16)
Float16. Поведение этого класса аналогично поведению метода Float.toHexString(float), за исключением того, что для субнормальных значений Float16 используется показатель степени "p-14".- Примечание API:
- Этот метод соответствует операции convertToHexCharacter, определенной в IEEE 754.
- Параметры:
-
f16— значениеFloat16, которое требуется преобразовать. - Возвращает:
- шестнадцатеричное строковое представление аргумента.
- См. также:
valueOf
public static Float16 valueOf(int value)
int, преобразованное в
Float16.- Примечание API:
- Этот метод соответствует операции convertFromInt, определенной в IEEE 754.
- Параметры:
-
value— значениеint. - Возвращает:
- значение
int, преобразованное вFloat16
valueOf
public static Float16 valueOf(long value)
long, преобразованное в Float16.- Примечание API:
- Этот метод соответствует операции convertFromInt, определенной в IEEE 754.
- Параметры:
-
value— значениеlong. - Возвращает:
- значение
long, преобразованное вFloat16
valueOf
public static Float16 valueOf(float f)
Float16, округлённое из аргумента float с использованием правила округления до ближайшего значения.- Примечание API:
- Этот метод соответствует операции convertFormat, определенной в IEEE 754.
- Параметры:
-
f— значениеfloat - Возвращает:
- значение
Float16, округлённое из аргументаfloatс использованием правила округления до ближайшего значения
valueOf
public static Float16 valueOf(double d)
Float16, округлённое из аргумента double с использованием правила округления до ближайшего значения.- Примечание API:
- Этот метод соответствует операции convertFormat, определенной в IEEE 754.
- Параметры:
-
d— значениеdouble - Возвращает:
- значение
Float16, округлённое из аргументаdoubleс использованием правила округления до ближайшего значения
valueOf
public static Float16 valueOf(String s) throws NumberFormatException
Float16, содержащий значение с плавающей точкой, представленное строкой аргумента. Грамматика строк, принимаемых этим методом, совпадает с грамматикой строк, принимаемых методом Double.valueOf(String). Правило округления также аналогично используемому этим методом: корректный вход рассматривается как точное числовое значение, которое один раз округляется до ближайшего представимого значения Float16.- Примечание API:
- Этот метод соответствует операциям convertFromDecimalCharacter и convertFromHexCharacter, определенным в IEEE 754.
- Параметры:
-
s— строка для разбора. - Возвращает:
- значение
Float16, представленное строковым аргументом. - Выбрасывает:
-
NullPointerException— если строка равна null -
NumberFormatException— если строка не содержит разбираемое значениеFloat16. - См. также:
valueOf
public static Float16 valueOf(BigDecimal v)
Float16, округлённое из аргумента BigDecimal с использованием правила округления до ближайшего значения.- Параметры:
-
v— объектBigDecimal - Возвращает:
- значение
Float16, округлённое из аргументаBigDecimalс использованием правила округления до ближайшего значения
isNaN
public static boolean isNaN(Float16 f16)
true, если указанное число является значением «не число» (NaN), и false в противном случае.- Примечание API:
- Этот метод соответствует операции isNaN, определенной в IEEE 754.
- Параметры:
-
f16— проверяемое значение. - Возвращает:
-
true, если аргумент равен NaN; в противном случае —false. - См. также:
isInfinite
public static boolean isInfinite(Float16 f16)
true, если модуль указанного числа бесконечно велик, и false в противном случае.- Примечание API:
- Этот метод соответствует операции isInfinite, определенной в IEEE 754.
- Параметры:
-
f16— проверяемое значение. - Возвращает:
-
true, если аргумент равен положительной или отрицательной бесконечности; в противном случае —false. - См. также:
isFinite
public static boolean isFinite(Float16 f16)
true, если аргумент является конечным значением с плавающей точкой; в противном случае (для аргументов NaN и бесконечности) возвращает false.- Примечание API:
- Этот метод соответствует операции isFinite, определенной в IEEE 754.
- Параметры:
-
f16— проверяемое значениеFloat16 - Возвращает:
-
true, если аргумент является конечным значением с плавающей точкой; в противном случае —false. - См. также:
byteValue
public byte byteValue()
Float16 как byte после сужающего примитивного преобразования.- Переопределяет:
-
byteValueв классеNumber - Возвращает:
- значение этого объекта
Float16какbyteпосле сужающего примитивного преобразования - См. Спецификацию языка Java:
- 5.1.3 Сужающее примитивное преобразование
toString
shortValue
public short shortValue()
Float16 как short после сужающего примитивного преобразования.- Переопределяет:
-
shortValueв классеNumber - Возвращает:
- значение этого объекта
Float16какshortпосле сужающего примитивного преобразования - См. Спецификацию языка Java:
- 5.1.3 Сужающее примитивное преобразование
intValue
public int intValue()
Float16 как int после сужающего примитивного преобразования.- Определено в:
-
intValueв классеNumber - Примечание API:
- Этот метод соответствует операции convertToIntegerTowardZero, определенной в IEEE 754.
- Возвращает:
- значение этого объекта
Float16какintпосле сужающего примитивного преобразования - См. Спецификацию языка Java:
- 5.1.3 Сужающее примитивное преобразование
longValue
public long longValue()
Float16 как long после сужающего примитивного преобразования.- Определено в:
-
longValueв классеNumber - Примечание API:
- Этот метод соответствует операции convertToIntegerTowardZero, определенной в IEEE 754.
- Возвращает:
- значение этого объекта
Float16какlongпосле сужающего примитивного преобразования - См. Спецификацию языка Java:
- 5.1.3 Сужающее примитивное преобразование
floatValue
public float floatValue()
Float16 как float после расширяющего примитивного преобразования.- Определено в:
-
floatValueв классеNumber - Примечание API:
- Этот метод соответствует операции convertFormat, определенной в IEEE 754.
- Возвращает:
- значение этого объекта
Float16какfloatпосле расширяющего примитивного преобразования - См. Спецификацию языка Java:
- 5.1.2 Расширяющее примитивное преобразование
doubleValue
public double doubleValue()
Float16 как double после расширяющего примитивного преобразования.- Определено в:
-
doubleValueв классеNumber - Примечание API:
- Этот метод соответствует операции convertFormat, определенной в IEEE 754.
- Возвращает:
- значение этого объекта
Float16какdoubleпосле расширяющего примитивного преобразования - См. Спецификацию языка Java:
- 5.1.2 Расширяющее примитивное преобразование
hashCode
public int hashCode()
Float16. Общий контракт метода Object#hashCode() соблюдается. Все значения NaN имеют одинаковый хеш-код. Кроме того, все различные числовые значения имеют уникальные хеш-коды; в частности, отрицательный и положительный ноль имеют разные хеш-коды.hashCode
public static int hashCode(Float16 value)
Float16; совместим с Float16.hashCode().- Параметры:
-
value— значение, для которого вычисляется хеш-код - Возвращает:
- значение хеш-кода для значения
Float16.
equals
public boolean equals(Object obj)
true тогда и только тогда, когда аргумент не равен null и является объектом Float16, представляющим Float16 с тем же значением, что и double, представленное этим объектом.- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj— объект-ссылка, с которым выполняется сравнение. - Возвращает:
-
true, если этот объект совпадает с аргументом obj; в противном случае —false. - См. Спецификацию языка Java:
- 15.21.1 Операторы числового равенства == и !=
- См. также:
float16ToRawShortBits
public static short float16ToRawShortBits(Float16 f16)
- Параметры:
-
f16— число с плавающей точкойFloat16. - Возвращает:
- биты, представляющие число с плавающей точкой.
- См. также:
float16ToShortBits
public static short float16ToShortBits(Float16 f16)
NaN.- Параметры:
-
f16— число с плавающей точкойFloat16. - Возвращает:
- биты, представляющие число с плавающей точкой.
- См. также:
shortBitsToFloat16
public static Float16 shortBitsToFloat16(short bits)
Float16, соответствующее заданному битовому представлению.- Параметры:
-
bits— любое целое числоshort. - Возвращает:
- значение с плавающей точкой
Float16с тем же битовым шаблоном. - См. также:
compareTo
public int compareTo(Float16 anotherFloat16)
Float16 численно. Этот метод задаёт полный порядок для объектов Float16, который отличается в двух аспектах от неполного порядка, определяемого операторами числового сравнения языка Java (<, <=,
==, >=, >) для значений float и double. - Значение NaN неупорядочено относительно других значений и не равно самому себе при использовании операторов сравнения. Этот метод считает
Float16.NaNравным самому себе и большим всех других значенийFloat16(включаяFloat16.POSITIVE_INFINITY). - Положительный и отрицательный ноль численно равны при сравнении, но являются различными значениями. Этот метод считает положительный ноль большим отрицательного нуля.
- Определено в:
-
compareToв интерфейсеComparable<Float16> - Параметры:
-
anotherFloat16— значениеFloat16, с которым выполняется сравнение. - Возвращает:
- значение
0, еслиanotherFloat16численно равно этому значениюFloat16; значение меньше0, если это значениеFloat16численно меньшеanotherFloat16; и значение больше0, если это значениеFloat16численно большеanotherFloat16. - См. Спецификацию языка Java:
- 15.20.1 Операторы числового сравнения
<,<=,>и>=
- См. также:
compare
public static int compare(Float16 f1, Float16 f2)
Float16.- Параметры:
-
f1— первое значениеFloat16для сравнения -
f2— второе значениеFloat16для сравнения - Возвращает:
- значение
0, еслиf1численно равноf2; значение меньше0, еслиf1численно меньшеf2; и значение больше0, еслиf1численно большеf2. - См. также:
max
public static Float16 max(Float16 a, Float16 b)
Float16. Обработка знаковых нулей, NaN, бесконечностей и других особых случаев этим методом аналогична обработке этих случаев методом Math#max(double, double).- Примечание к API:
- Этот метод соответствует операции максимума, определённой в IEEE 754.
- Параметры:
-
a— первый операнд -
b— второй операнд - Возвращает:
- большее из
aиb - См. также:
min
public static Float16 min(Float16 a, Float16 b)
Float16. Обработка знаковых нулей, NaN, бесконечностей и других особых случаев этим методом аналогична обработке этих случаев методом Math#min(double, double).- Примечание к API:
- Этот метод соответствует операции минимума, определённой в IEEE 754.
- Параметры:
-
a— первый операнд -
b— второй операнд - Возвращает:
- меньшее из
aиb - См. также:
add
public static Float16 add(Float16 addend, Float16 augend)
Float16 в соответствии с семантикой оператора +, используя режим округления к ближайшему. Обработка знаковых нулей, NaN, бесконечностей и других особых случаев этим методом такая же, как обработка этих случаев встроенным оператором + для сложения чисел с плавающей точкой (JLS 15.18.2).- Примечание к API:
- Этот метод соответствует операции сложения, определённой в IEEE 754.
- Параметры:
-
addend— первый операнд -
augend— второй операнд - Возвращает:
- сумму операндов
- См. Спецификацию языка Java:
- 15.4 Выражения с плавающей точкой
15.18.2 Аддитивные операторы (+ и -) для числовых типов
subtract
public static Float16 subtract(Float16 minuend, Float16 subtrahend)
Float16 в соответствии с семантикой оператора -, используя режим округления к ближайшему. Обработка знаковых нулей, NaN, бесконечностей и других особых случаев этим методом такая же, как обработка этих случаев встроенным оператором - для вычитания чисел с плавающей точкой (JLS 15.18.2).- Примечание к API:
- Этот метод соответствует операции вычитания, определённой в IEEE 754.
- Параметры:
-
minuend— первый операнд -
subtrahend— второй операнд - Возвращает:
- разность операндов
- См. Спецификацию языка Java:
- 15.4 Выражения с плавающей точкой
15.18.2 Аддитивные операторы (+ и -) для числовых типов
multiply
public static Float16 multiply(Float16 multiplier, Float16 multiplicand)
Float16 в соответствии с семантикой оператора *, используя режим округления к ближайшему. Обработка знаковых нулей, NaN, бесконечностей и других особых случаев этим методом такая же, как обработка этих случаев встроенным оператором * для умножения чисел с плавающей точкой (JLS 15.17.1).- Примечание к API:
- Этот метод соответствует операции умножения, определённой в IEEE 754.
- Параметры:
-
multiplier— первый операнд -
multiplicand— второй операнд - Возвращает:
- произведение операндов
- См. Спецификацию языка Java:
- 15.4 Выражения с плавающей точкой
15.17.1 Оператор умножения *
divide
public static Float16 divide(Float16 dividend, Float16 divisor)
Float16 в соответствии с семантикой оператора /, используя режим округления к ближайшему. Обработка знаковых нулей, NaN, бесконечностей и других особых случаев этим методом такая же, как обработка этих случаев встроенным оператором / для деления чисел с плавающей точкой (JLS 15.17.2).- Примечание к API:
- Этот метод соответствует операции деления, определённой в IEEE 754.
- Параметры:
-
dividend— первый операнд -
divisor— второй операнд - Возвращает:
- частное от деления операндов
- См. Спецификацию языка Java:
- 15.4 Выражения с плавающей точкой
15.17.2 Оператор деления /
sqrt
public static Float16 sqrt(Float16 radicand)
Math.sqrt(double).- Примечание к API:
- Этот метод соответствует операции squareRoot, определённой в IEEE 754.
- Параметры:
-
radicand— аргумент, из которого требуется извлечь квадратный корень - Возвращает:
- квадратный корень из операнда
- См. также:
fma
public static Float16 fma(Float16 a, Float16 b, Float16 c)
Float16. Обработка нулей, NaN, бесконечностей и других особых случаев этим методом аналогична обработке этих случаев методом Math.fma(float, float, float).- Примечание к API:
- Этот метод соответствует операции fusedMultiplyAdd, определённой в IEEE 754.
- Параметры:
-
a— значение -
b— значение -
c— значение - Возвращает:
- (a × b + c), вычисленное так, как если бы диапазон и точность были неограниченными, и один раз округлённое до ближайшего значения
Float16 - См. также:
negate
public static Float16 negate(Float16 f16)
- Если аргумент равен нулю, результатом будет ноль с противоположным знаком.
- Если аргумент бесконечен, результатом будет бесконечность с противоположным знаком.
- Если аргумент является NaN, результатом будет NaN.
- Примечание к API:
- Этот метод соответствует операции negate, определённой в IEEE 754.
- Параметры:
-
f16— значение, знак которого требуется изменить - Возвращает:
- противоположное значение аргумента
- См. Спецификацию языка Java:
- 15.15.4 Унарный оператор минус
-
abs
public static Float16 abs(Float16 f16)
Math.abs(float).- Параметры:
-
f16— аргумент, абсолютное значение которого требуется определить - Возвращает:
- абсолютное значение аргумента
- См. также:
getExponent
public static int getExponent(Float16 f16)
Float16. - Если аргумент является NaN или бесконечностью, результат равен
MAX_EXPONENT+ 1. - Если аргумент равен нулю или является субнормальным числом, результат равен
MIN_EXPONENT- 1.
- Примечание к API:
- Этот метод аналогичен операции logB, определённой в IEEE 754, но возвращает другое значение для субнормальных аргументов.
- Параметры:
-
f16— значениеFloat16 - Возвращает:
- несмещённый экспоненциальный показатель аргумента
- См. также:
ulp
public static Float16 ulp(Float16 f16)
Float16 — это положительное расстояние между данным числом с плавающей точкой и следующим по величине значением
Float16. Обратите внимание, что для не-NaN значения x ulp(-x) == ulp(x). Особые случаи:
- Если аргумент является NaN, результатом будет NaN.
- Если аргумент равен положительной или отрицательной бесконечности, результатом будет положительная бесконечность.
- Если аргумент равен положительному или отрицательному нулю, результатом будет
Float16.MIN_VALUE. - Если аргумент равен ±
Float16.MAX_VALUE, результат равен 25, то есть 32,0.
- Параметры:
-
f16— значение с плавающей точкой, для которого требуется вернуть ulp - Возвращает:
- размер ulp аргумента
- См. также:
nextUp
public static Float16 nextUp(Float16 v)
v значение с плавающей точкой в направлении положительной бесконечности. Особые случаи:
- Если аргумент является NaN, результатом будет NaN.
- Если аргумент равен положительной бесконечности, результатом будет положительная бесконечность.
- Если аргумент равен нулю, результатом будет
MIN_VALUE
- Примечание к API:
- Этот метод соответствует операции nextUp, определённой в IEEE 754.
- Параметры:
-
v— начальное значение с плавающей точкой - Возвращает:
- Ближайшее значение с плавающей точкой в направлении положительной бесконечности.
- См. также:
nextDown
public static Float16 nextDown(Float16 v)
v значение с плавающей точкой в направлении отрицательной бесконечности. Особые случаи:
- Если аргумент является NaN, результатом будет NaN.
- Если аргумент равен отрицательной бесконечности, результатом будет отрицательная бесконечность.
- Если аргумент равен нулю, результатом будет -
MIN_VALUE
- Примечание к API:
- Этот метод соответствует операции nextDown, определённой в IEEE 754.
- Параметры:
-
v— начальное значение с плавающей точкой - Возвращает:
- Ближайшее значение с плавающей точкой в направлении отрицательной бесконечности.
- См. также:
scalb
public static Float16 scalb(Float16 v, int scaleFactor)
v × 2scaleFactor, округлённое так, как если бы вычисление выполнялось одним умножением чисел с плавающей точкой с корректным округлением. Если экспоненциальный показатель результата находится между MIN_EXPONENT и MAX_EXPONENT, результат вычисляется точно. Если экспоненциальный показатель результата превышает
Float16.MAX_EXPONENT, возвращается бесконечность. Обратите внимание, что если результат является субнормальным числом, возможна потеря точности; то есть, когда scalb(x, n) является субнормальным числом, scalb(scalb(x, n),
-n) может не равняться x. Если результат не является NaN, его знак совпадает со знаком v. Особые случаи:
- Если первый аргумент является NaN, возвращается NaN.
- Если первый аргумент является бесконечностью, возвращается бесконечность с тем же знаком.
- Если первый аргумент равен нулю, возвращается ноль с тем же знаком.
- Примечание к API:
- Этот метод соответствует операции scaleB, определённой в IEEE 754.
- Параметры:
-
v— число, которое требуется умножить на степень двойки. -
scaleFactor— степень двойки, используемая для масштабированияv - Возвращает:
-
v× 2scaleFactor - См. также:
copySign
public static Float16 copySign(Float16 magnitude, Float16 sign)
sign обрабатывались как положительные значения; реализации могут считать одни аргументы NaN положительными, а другие — отрицательными, чтобы повысить производительность.- Примечание к API:
- Этот метод соответствует операции copySign, определённой в IEEE 754.
- Параметры:
-
magnitude— параметр, задающий величину результата -
sign— параметр, задающий знак результата - Возвращает:
- значение с величиной
magnitudeи знакомsign. - См. также:
signum
public static Float16 signum(Float16 f)
Особые случаи:
- Если аргумент является NaN, результатом будет NaN.
- Если аргумент равен положительному или отрицательному нулю, результат совпадает с аргументом.
- Параметры:
-
f— значение с плавающей точкой, для которого требуется вернуть знаковую функцию - Возвращает:
- значение знаковой функции аргумента
- См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.incubator.vector/jdk/incubator/vector/Float16.html