Класс 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 с использованием политики округления до ближайшего. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
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) и создании десятичной строки, которая при обратном преобразовании даст значение аргумента. Однако диапазон для обычной записи определен как интервал [10-3, 103), а не интервал, используемый для float и double.- Параметры:
-
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)
Float16, полученное преобразованием значения int.- Примечание API:
- Этот метод соответствует операции convertFromInt, определенной в IEEE 754.
- Параметры:
-
value— значениеint. - Возвращает:
- значение типа
Float16, полученное преобразованием значенияint
valueOf
public static Float16 valueOf(long value)
Float16, полученное преобразованием значения long.- Примечание API:
- Этот метод соответствует операции convertFromInt, определенной в IEEE 754.
- Параметры:
-
value— значениеlong. - Возвращает:
- значение типа
Float16, полученное преобразованием значенияlong
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, если аргумент является конечным значением с плавающей точкой; в противном случае возвращает false (для аргументов NaN и бесконечности).- Примечание 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 с тем же значением, что и Float16, представленное этим объектом. Для сравнения значений Float16 используется эквивалентность представлений.- Переопределяет:
-
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> - Примечание API:
- Обсуждение различий между полным порядком, задаваемым этим методом, и полным порядком, определенным стандартом IEEE 754, см. в примечании к методу
Double.compareTo(Double). - Параметры:
-
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.- Примечание API:
- Один из способов реализовать эквивалентность представлений для значений
Float16— этоFloat16.compare(a, b) == 0 - Параметры:
-
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— значение с плавающей запятой, функцию signum которого требуется вернуть - Возвращает:
- функцию signum аргумента
- См. также:
© 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.