Класс Float
- java.lang.Object
-
- java.lang.Number
-
- java.lang.Float
- Все реализуемые интерфейсы:
-
Serializable,Comparable<Float>
public final class Float extends Number implements Comparable<Float>
Класс Float оборачивает значение примитивного типа float в объект. Объект типа Float содержит единственное поле типа float.
Кроме того, этот класс предоставляет несколько методов для преобразования float в String и String в float, а также другие константы и методы, полезные при работе с float.
- С тех пор:
- 1.0
- См. также:
- Сериализованная форма
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static int | BYTES | Количество байт, используемых для представления значения |
static int | MAX_EXPONENT | Максимальный показатель степени для конечной переменной типа |
static float | MAX_VALUE | Константа, содержащая наибольшее положительное конечное значение типа |
static int | MIN_EXPONENT | Минимальный показатель степени для нормализованной переменной типа |
static float | MIN_NORMAL | Константа, содержащая наименьшее положительное нормальное значение типа |
static float | MIN_VALUE | Константа, содержащая наименьшее положительное отличное от нуля значение типа |
static float | NaN | Константа, содержащая значение «Не число» (NaN) типа |
static float | NEGATIVE_INFINITY | Константа, содержащая отрицательную бесконечность типа |
static float | POSITIVE_INFINITY | Константа, содержащая положительную бесконечность типа |
static int | SIZE | Количество бит, используемых для представления значения |
static Class<Float> | TYPE | Экземпляр |
Конструкторы
| Конструктор | Описание |
|---|---|
Float(double value) | Устаревший. Использование этого конструктора редко уместно. |
Float(float value) | Устаревший. Использование этого конструктора редко уместно. |
Float(String s) | Устаревший. Использование этого конструктора редко уместно. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
byte | byteValue() | Возвращает значение этого |
static int | compare(float f1,
float f2) | Сравнивает два указанных значения |
int | compareTo(Float anotherFloat) | Сравнивает два объекта |
double | doubleValue() | Возвращает значение этого |
boolean | equals(Object obj) | Сравнивает этот объект с указанным объектом. |
static int | floatToIntBits(float value) | Возвращает представление указанного значения с плавающей точкой в соответствии с битовой компоновкой "формата одиночной точности" IEEE 754. |
static int | floatToRawIntBits(float value) | Возвращает представление указанного значения с плавающей точкой в соответствии с битовой компоновкой "формата одиночной точности" IEEE 754, сохраняя значения «Не число» (NaN). |
float | floatValue() | Возвращает значение с плавающей точкой |
int | hashCode() | Возвращает код хэша для этого объекта |
static int | hashCode(float value) | Возвращает код хэша для значения с плавающей точкой |
static float | intBitsToFloat(int bits) | Возвращает значение с плавающей точкой |
int | intValue() | Возвращает значение этого |
static boolean | isFinite(float f) | Возвращает |
boolean | isInfinite() | Возвращает |
static boolean | isInfinite(float v) | Возвращает |
boolean | isNaN() | Возвращает |
static boolean | isNaN(float v) | Возвращает |
long | longValue() | Возвращает значение этого |
static float | max(float a,
float b) | Возвращает большее из двух значений |
static float | min(float a,
float b) | Возвращает меньшее из двух значений |
static float | parseFloat(String s) | Возвращает новый |
short | shortValue() | Возвращает значение этого |
static float | sum(float a,
float b) | Складывает два значения с плавающей точкой |
static String | toHexString(float f) | Возвращает шестнадцатеричное строковое представление аргумента |
String | toString() | Возвращает строковое представление этого объекта |
static String | toString(float f) | Возвращает строковое представление аргумента |
static Float | valueOf(float f) | Возвращает экземпляр |
static Float | valueOf(String s) | Возвращает объект |
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Поля
POSITIVE_INFINITY
public static final float POSITIVE_INFINITY
Константа, содержащая положительную бесконечность типа float. Она равна значению, возвращаемому Float.intBitsToFloat(0x7f800000).
- См. также:
- Значения константных полей
NEGATIVE_INFINITY
public static final float NEGATIVE_INFINITY
Константа, содержащая отрицательную бесконечность типа float. Она равна значению, возвращаемому Float.intBitsToFloat(0xff800000).
- См. также:
- Значения константных полей
NaN
public static final float NaN
Константа, содержащая значение «не число» (NaN) типа float. Она эквивалентна значению, возвращаемому Float.intBitsToFloat(0x7fc00000).
- См. также:
- Значения константных полей
MAX_VALUE
public static final float MAX_VALUE
Константа, содержащая наибольшее положительное конечное значение типа float, (2-2-23)·2127. Она равна шестнадцатеричной плавающей точке 0x1.fffffeP+127f и также равна Float.intBitsToFloat(0x7f7fffff).
- См. также:
- Значения константных полей
MIN_NORMAL
public static final float MIN_NORMAL
Константа, содержащая наименьшее положительное нормализованное значение типа float, 2-126. Она равна шестнадцатеричной плавающей точке 0x1.0p-126f и также равна Float.intBitsToFloat(0x00800000).
- С:
- 1.6
- См. также:
- Значения константных полей
MIN_VALUE
public static final float MIN_VALUE
Константа, содержащая наименьшее положительное ненулевое значение типа float, 2-149. Она равна шестнадцатеричной плавающей точке 0x0.000002P-126f и также равна Float.intBitsToFloat(0x1).
- См. также:
- Значения константных полей
MAX_EXPONENT
public static final int MAX_EXPONENT
Максимальный показатель степени, который может иметь конечная переменная float. Он равен значению, возвращаемому
Math.getExponent(Float.MAX_VALUE).
- С:
- 1.6
- См. также:
- Значения константных полей
MIN_EXPONENT
public static final int MIN_EXPONENT
Минимальный показатель степени, который может иметь нормализованная переменная float. Он равен значению, возвращаемому
Math.getExponent(Float.MIN_NORMAL).
- С:
- 1.6
- См. также:
- Значения константных полей
SIZE
public static final int SIZE
Количество битов, используемых для представления значения float.
- С:
- 1.5
- См. также:
- Значения константных полей
BYTES
public static final int BYTES
Количество байтов, используемых для представления значения float.
- С:
- 1.8
- См. также:
- Значения константных полей
TYPE
public static final Class<Float> TYPE
Экземпляр Class представляющий примитивный тип float.
- С:
- 1.1
Конструкторы
Float
@Deprecated(since="9") public Float(float value)
valueOf(float) обычно является лучшим выбором, так как он, скорее всего, обеспечит значительно лучшую производительность по времени и памяти.Создает новый объект Float, представляющий примитивное значение float.
- Параметры:
-
value- значение, которое должно быть представлено объектомFloat.
Float
@Deprecated(since="9") public Float(double value)
valueOf(float) следующим образом: Float.valueOf((float)value).Создает новый объект Float , представляющий аргумент, преобразованный к типу float.
- Параметры:
-
value- значение, которое должно быть представлено объектомFloat.
Float
@Deprecated(since="9")
public Float(String s)
throws NumberFormatException parseFloat(String) для преобразования строки в примитивное значение float или valueOf(String) для преобразования строки в объект Float.Создает новый объект Float, представляющий значение с плавающей точкой типа float, представленное строкой. Строка преобразуется в значение с плавающей точкой так, как если бы это делал метод valueOf.
- Параметры:
-
s- строка, которая должна быть преобразована в значениеFloat. - Исключения:
-
NumberFormatException- если строка не содержит разыскиваемое число.
Методы
toString
public static String toString(float f)
Возвращает строковое представление аргумента float. Все упоминаемые ниже символы являются символами ASCII.
- Если аргумент является NaN, результат — строка "
NaN". - В противном случае результат — строка, представляющая знак и модуль (абсолютное значение) аргумента. Если знак отрицательный, первый символ результата — '
-' ('\u002D'); если знак положительный, символ знака в результате не отображается. Что касается модуля m:- Если m равен бесконечности, он представляется символами
"Infinity"; таким образом, положительная бесконечность даёт результат"Infinity", а отрицательная бесконечность — результат"-Infinity". - Если m равен нулю, он представляется символами
"0.0"; таким образом, отрицательный ноль даёт результат"-0.0", а положительный ноль — результат"0.0". - Если m больше или равен 10-3, но меньше 107, то он представляется как целая часть m в десятичном формате без ведущих нулей, за которым следует '
.' ('\u002E'), а затем одна или более десятичных цифр, представляющих дробную часть m. - Если m меньше 10-3 или больше или равен 107, он представляется в так называемой «компьютерной научной записи». Пусть n — уникальное целое число такое, что 10n ≤ m < 10n+1; затем пусть a — математически точное частное m и 10n так, что 1 ≤ a < 10. Модуль тогда представляется как целая часть a, как одна десятичная цифра, за которой следует '
.' ('\u002E'), за которой следуют десятичные цифры, представляющие дробную часть a, за которыми следует буква 'E' ('\u0045'), за которой следует представление n как десятичного целого числа, как произведено методомInteger.toString(int).
- Если m равен бесконечности, он представляется символами
float. То есть, предположим, что x — точное математическое значение, представленное десятичной записью, полученной этим методом для конечного ненулевого аргумента f. Тогда f должно быть значением, ближайшим к x; или, если два значения f равноудалены от x, то f должно быть одним из них, а самый младший бит мантиссы f должен быть 0.
Для создания локальных строковых представлений значения с плавающей точкой используйте подклассы NumberFormat.
- Параметры:
-
f— с плавающей точкой, подлежащий преобразованию. - Возвращает:
- строковое представление аргумента.
toHexString
public static String toHexString(float f)
Возвращает шестнадцатеричное строковое представление аргумента float. Все упоминаемые ниже символы являются символами ASCII.
- Если аргумент является NaN, результат — строка "
NaN". - В противном случае результат — строка, представляющая знак и модуль (абсолютное значение) аргумента. Если знак отрицательный, первый символ результата — '
-' ('\u002D'); если знак положительный, символ знака в результате не отображается. Что касается модуля m:- Если m равен бесконечности, он представляется строкой
"Infinity"; таким образом, положительная бесконечность даёт результат"Infinity", а отрицательная бесконечность — результат"-Infinity". - Если m равен нулю, он представляется строкой
"0x0.0p0"; таким образом, отрицательный ноль даёт результат"-0x0.0p0", а положительный ноль — результат"0x0.0p0". - Если m является значением с плавающей точкой с нормализованным представлением, подстроки используются для представления полей мантиссы и показателя степени. Мантисса представляется символами
"0x1."за которыми следует шестнадцатеричное представление остальной части мантиссы как дроби. Завершающие нули в шестнадцатеричном представлении удаляются, за исключением случая, когда все цифры равны нулю, в этом случае используется одиночный ноль. Далее, показатель степени представляется"p"за которым следует десятичная строка смещённого показателя степени так, как если бы она была получена вызовомInteger.toStringдля значения показателя степени. - Если m является значением с плавающей точкой с субнормализованным представлением, мантисса представляется символами
"0x0."за которыми следует шестнадцатеричное представление остальной части мантиссы как дроби. Завершающие нули в шестнадцатеричном представлении удаляются. Далее, показатель степени представляется"p-126". Обратите внимание, что в субнормализованной мантиссе должна быть хотя бы одна ненулевая цифра.
- Если m равен бесконечности, он представляется строкой
| Значение с плавающей точкой | Шестнадцатеричная строка |
|---|---|
1.0 |
0x1.0p0 |
-1.0 |
-0x1.0p0 |
2.0 |
0x1.0p1 |
3.0 |
0x1.8p1 |
0.5 |
0x1.0p-1 |
0.25 |
0x1.0p-2 |
Float.MAX_VALUE |
0x1.fffffep127 |
Minimum Normal Value |
0x1.0p-126 |
Maximum Subnormal Value |
0x0.fffffep-126 |
Float.MIN_VALUE |
0x0.000002p-126 |
- Параметры:
-
f—floatподлежащий преобразованию. - Возвращает:
- шестнадцатеричное строковое представление аргумента.
- С:
- 1.5
valueOf
public static Float valueOf(String s)
throws NumberFormatException
Возвращает объект Float, содержащий значение float, представленное строкой аргумента s.
Если s является null, то выбрасывается NullPointerException.
Пробельные символы в начале и конце строки s игнорируются. Пробелы удаляются так же, как и методом String.trim(); то есть, удаляются как пробелы ASCII, так и управляющие символы. Остальная часть s должна соответствовать правилам лексического синтаксиса FloatValue:
где Sign, FloatingPointLiteral, HexNumeral, HexDigits, SignedInteger и FloatTypeSuffix определены в разделах лексической структуры Спецификации языка Java™, за исключением того, что знаки подчеркивания не допускаются между цифрами. Если
- FloatValue:
- Signopt
NaN- Signopt
Infinity- Signopt FloatingPointLiteral
- Signopt HexFloatingPointLiteral
- SignedInteger
- HexFloatingPointLiteral:
- HexSignificand BinaryExponent FloatTypeSuffixopt
- HexSignificand:
- HexNumeral
- HexNumeral
.0xHexDigitsopt.HexDigits0XHexDigitsopt.HexDigits
- BinaryExponent:
- BinaryExponentIndicator SignedInteger
- BinaryExponentIndicator:
pP
s не имеет формы FloatValue, то выбрасывается NumberFormatException . В противном случае, s рассматривается как представление точного десятичного значения в обычной «компьютерной научной записи» или как точное шестнадцатеричное значение; это точное числовое значение затем концептуально преобразуется в «бесконечно точное» двоичное значение, которое затем округляется до типа float по обычному правилу округления до ближайшего значения IEEE 754 с плавающей точкой, которое включает сохранение знака нулевого значения. Обратите внимание, что правило округления до ближайшего значения также подразумевает поведение переполнения и потери точности; если точное значение s достаточно велико по модулю (больше или равно (MAX_VALUE + ulp(MAX_VALUE)/2), то округление до float даст бесконечность, и если точное значение s достаточно мало по модулю (меньше или равно MIN_VALUE/2), то округление до float даст ноль. Наконец, после округления возвращается объект Float, представляющий это значение float.
Для интерпретации локальных строковых представлений значения с плавающей точкой используйте подклассы NumberFormat.
Обратите внимание, что определяющие формат спецификаторы в конце, спецификаторы, определяющие тип литерала с плавающей точкой (1.0f — значение с плавающей точкой; float — значение с плавающей точкой), не влияют на результаты этого метода. Другими словами, числовое значение входной строки преобразуется непосредственно в целевой тип с плавающей точкой. В общем случае последовательность преобразований, строка в double, а затем double в float, не эквивалентна непосредственному преобразованию строки в float. Например, если сначала преобразовать в промежуточное значение double и затем в float, строка
"1.00000017881393421514957253748434595763683319091796875001d"
приводит к значению с плавающей точкой 1.0000002f; если строка преобразуется непосредственно в float, 1.0000001f даст результат.
Чтобы избежать вызова этого метода для неверной строки и получения исключения NumberFormatException, документация Double.valueOf содержит регулярное выражение, которое можно использовать для проверки входных данных.
- Параметры:
-
s- строка, подлежащая разбору. - Возвращает:
- объект
Float, содержащий значение, представленное аргументомString. - Выбрасывает:
-
NumberFormatException- если строка не содержит разборного числа.
valueOf
public static Float valueOf(float f)
Возвращает экземпляр Float, представляющий заданное значение float. Если новый экземпляр Float не требуется, этот метод обычно следует использовать вместо конструктора Float(float), так как этот метод, вероятно, обеспечит значительно лучшую производительность в отношении памяти и времени за счёт кэширования часто запрашиваемых значений.
- Параметры:
-
f- значение с плавающей запятой. - Возвращает:
- экземпляр
Float, представляющийf. - С:
- 1.5
parseFloat
public static float parseFloat(String s)
throws NumberFormatException Возвращает новый экземпляр float, инициализированный значением, представленным указанной строкой String, как выполняется методом valueOf класса Float.
- Параметры:
-
s- строка, подлежащая разбору. - Возвращает:
- значение с плавающей запятой, представленное строковым аргументом.
- Выбрасывает:
-
NullPointerException- если строка равна null -
NumberFormatException- если строка не содержит разборногоfloat. - С:
- 1.2
- См. также:
valueOf(String)
isNaN
public static boolean isNaN(float v)
Возвращает true, если указанное число является значением "Не число" (NaN), false в противном случае.
- Параметры:
-
v- значение для проверки. - Возвращает:
-
trueесли аргумент равен NaN;falseв противном случае.
isInfinite
public static boolean isInfinite(float v)
Возвращает true, если указанное число имеет бесконечно большую величину, false в противном случае.
- Параметры:
-
v- значение для проверки. - Возвращает:
-
trueесли аргумент равен положительной или отрицательной бесконечности;falseв противном случае.
isFinite
public static boolean isFinite(float f)
Возвращает true, если аргумент представляет конечное значение с плавающей запятой; возвращает false в противном случае (для аргументов NaN и бесконечности).
- Параметры:
-
f- значение с плавающей запятой для проверки - Возвращает:
-
trueесли аргумент представляет конечное значение с плавающей запятой,falseв противном случае. - С:
- 1.8
isNaN
public boolean isNaN()
Возвращает true, если это значение с плавающей запятой является значением "Не число" (NaN), false в противном случае.
- Возвращает:
-
trueесли значение, представленное этим объектом, равно NaN;falseв противном случае.
isInfinite
public boolean isInfinite()
Возвращает true, если это значение с плавающей запятой имеет бесконечно большую величину, false в противном случае.
- Возвращает:
-
trueесли значение, представленное этим объектом, равно положительной или отрицательной бесконечности;falseв противном случае.
toString
public String toString()
Возвращает строковое представление этого объекта Float. Примитивное значение с плавающей запятой, представленное этим объектом, преобразуется в строку точно так же, как и методом toString с одним аргументом.
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого объекта.
- См. также:
toString(float)
byteValue
public byte byteValue()
Возвращает значение этого объекта Float в виде типа byte после сужающего преобразования примитивного типа.
- Переопределяет:
-
byteValueв классеNumber - Возвращает:
- значение
float, представленное этим объектом, преобразованное к типуbyte
shortValue
public short shortValue()
Возвращает значение этого объекта Float в виде типа short после сужающего преобразования примитивного типа.
- Переопределяет:
-
shortValueв классеNumber - Возвращает:
- значение
float, представленное этим объектом, преобразованное к типуshort - С:
- 1.1
intValue
public int intValue()
Возвращает значение этого объекта Float в виде типа int после сужающего преобразования примитивного типа.
- Определено в:
-
intValueв классеNumber - Возвращает:
- значение
float, представленное этим объектом, преобразованное к типуint
longValue
public long longValue()
Возвращает значение этого объекта Float в виде типа long после сужающего преобразования примитивного типа.
- Определено в:
-
longValueв классеNumber - Возвращает:
- значение
float, представленное этим объектом, преобразованное к типуlong
floatValue
public float floatValue()
Возвращает значение с плавающей запятой этого объекта Float.
- Определено в:
-
floatValueв классеNumber - Возвращает:
- значение с плавающей запятой, представленное этим объектом
doubleValue
public double doubleValue()
Возвращает значение этого объекта Float в виде типа double после расширяющего преобразования примитивного типа.
- Определено в:
-
doubleValueв классеNumber - Возвращает:
- значение
float, представленное этим объектом, преобразованное к типуdouble
hashCode
public int hashCode()
Возвращает код хэша для этого объекта Float. Результатом является целочисленное битовое представление, полученное точно так же, как и методом floatToIntBits(float), примитивного значения с плавающей запятой, представленного этим объектом Float.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение кода хэша для этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
hashCode
public static int hashCode(float value)
Возвращает код хэша для значения с плавающей запятой; совместимо с Float.hashCode().
- Параметры:
-
value- значение для хэширования - Возвращает:
- значение кода хэша для значения с плавающей запятой.
- С:
- 1.8
equals
public boolean equals(Object obj)
Сравнивает этот объект с указанным объектом. Результат равен true тогда и только тогда, когда аргумент не равен null и является объектом типа Float, представляющим значение с плавающей запятой с тем же значением, что и значение с плавающей запятой, представленное этим объектом. Для этой цели два значения с плавающей запятой считаются одинаковыми, если и только если метод floatToIntBits(float) возвращает идентичное значение int при применении к каждому из них.
Обратите внимание, что в большинстве случаев для двух экземпляров класса Float, f1 и f2, значение f1.equals(f2) равно true тогда и только тогда, когда
f1.floatValue() == f2.floatValue()
также имеет значение true. Однако есть два исключения:
- Если
f1иf2оба представляютFloat.NaN, то методequalsвозвращаетtrue, хотяFloat.NaN==Float.NaNимеет значениеfalse. - Если
f1представляет+0.0f, аf2представляет-0.0f, или наоборот, проверкаequalимеет значениеfalse, хотя0.0f==-0.0fимеет значениеtrue.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект для сравнения - Возвращает:
-
trueесли объекты одинаковые;falseв противном случае. - См. также:
floatToIntBits(float)
floatToIntBits
public static int floatToIntBits(float value)
Возвращает представление указанного значения с плавающей запятой в соответствии с битовым представлением "формата с одинарной точностью" IEEE 754.
Бит 31 (бит, выбираемый маской 0x80000000) представляет знак числа с плавающей запятой. Биты 30-23 (биты, выбираемые маской 0x7f800000) представляют показатель степени. Биты 22-0 (биты, выбираемые маской 0x007fffff) представляют мантиссу (иногда называемую дробной частью) числа с плавающей запятой.
Если аргумент представляет положительную бесконечность, результат равен 0x7f800000.
Если аргумент представляет отрицательную бесконечность, результат равен 0xff800000.
Если аргумент представляет NaN, результат равен 0x7fc00000.
Во всех случаях результат представляет собой целое число, которое, если передать его методу intBitsToFloat(int), произведёт значение с плавающей запятой, такое же, как аргумент метода floatToIntBits (за исключением того, что все значения NaN сводятся к одному "каноническому" значению NaN).
- Параметры:
-
value- число с плавающей запятой. - Возвращает:
- биты, представляющие число с плавающей запятой.
floatToRawIntBits
public static int floatToRawIntBits(float value)
Возвращает представление заданного значения с плавающей запятой в соответствии с битовой структурой «формата одинарной точности» IEEE 754, сохраняя значения «не число» (NaN).
Бит 31 (бит, выбранный маской 0x80000000) представляет знак числа с плавающей запятой. Биты 30-23 (биты, выбранные маской 0x7f800000) представляют показатель степени. Биты 22-0 (биты, выбранные маской 0x007fffff) представляют мантиссу (иногда называемую значащими цифрами) числа с плавающей запятой.
Если аргумент — положительная бесконечность, результат равен 0x7f800000.
Если аргумент — отрицательная бесконечность, результат равен 0xff800000.
Если аргумент — NaN, результат — целое число, представляющее фактическое значение NaN. В отличие от метода floatToIntBits, метод floatToRawIntBits не сводит все битовые шаблоны, кодирующие NaN, к одному «каноническому» значению NaN.
Во всех случаях результат — целое число, которое, при передаче методу intBitsToFloat(int), произведёт значение с плавающей запятой, такое же, как аргумент метода floatToRawIntBits.
- Параметры:
-
value- число с плавающей запятой. - Возвращает:
- биты, представляющие число с плавающей запятой.
- С:
- 1.3
intBitsToFloat
public static float intBitsToFloat(int bits)
Возвращает значение с плавающей запятой, соответствующее заданному битовому представлению. Аргумент рассматривается как представление значения с плавающей запятой в соответствии с битовой структурой «формата одинарной точности» IEEE 754.
Если аргумент — 0x7f800000, результат — положительная бесконечность.
Если аргумент — 0xff800000, результат — отрицательная бесконечность.
Если аргумент имеет любое значение в диапазоне от 0x7f800001 до 0x7fffffff или в диапазоне от 0xff800001 до 0xffffffff, результат — NaN. Никакая операция с плавающей запятой IEEE 754, предоставляемая Java, не может различать два значения NaN одного типа с разными битовыми шаблонами. Различные значения NaN различаются только с помощью метода Float.floatToRawIntBits.
Во всех остальных случаях, пусть s, e и m — три значения, которые можно вычислить из аргумента:
int s = ((bits >> 31) == 0) ? 1 : -1;
int e = ((bits >> 23) & 0xff);
int m = (e == 0) ?
(bits & 0x7fffff) << 1 :
(bits & 0x7fffff) | 0x800000; Тогда результат с плавающей запятой равен значению математического выражения s·m·2e-150. Обратите внимание, что этот метод может не быть в состоянии вернуть NaN с точно таким же битовым шаблоном, как аргумент int. IEEE 754 различает два типа NaN: тихие NaN и NaN-сигналы. Различия между двумя типами NaN, как правило, не видны в Java. Арифметические операции над NaN-сигналами преобразуют их в тихие NaN с другим, но часто похожим битовым шаблоном. Однако на некоторых процессорах простое копирование NaN-сигнала также выполняет это преобразование. В частности, копирование NaN-сигнала для возврата в вызывающий метод может выполнить это преобразование. Поэтому intBitsToFloat может не быть в состоянии вернуть float с битовым шаблоном NaN-сигнала. Вследствие этого, для некоторых значений int, floatToRawIntBits(intBitsToFloat(start)) может не быть равно start. Кроме того, какие конкретные битовые шаблоны представляют собой NaN-сигналы, зависит от платформы; хотя все битовые шаблоны NaN, тихие или сигнальные, должны находиться в диапазоне NaN, указанном выше.
- Параметры:
-
bits- целое число. - Возвращает:
- значение с плавающей запятой
floatс таким же битовым шаблоном.
compareTo
public int compareTo(Float anotherFloat)
Сравнивает два объекта Float численно. Есть два способа, которыми сравнения, выполняемые этим методом, отличаются от сравнений, выполняемых операторами числового сравнения языка Java (<, <=, ==, >=, >) при применении к примитивным значениям float:
-
Float.NaNрассматривается этим методом как равный самому себе и большее всех других значенийfloat(включаяFloat.POSITIVE_INFINITY). -
0.0fрассматривается этим методом как большее, чем-0.0f.
Float , налагаемый этим методом, совместим с equals. - Указано в:
-
compareToв интерфейсеComparable<Float> - Параметры:
-
anotherFloat- объектFloatдля сравнения. - Возвращает:
- значение
0, еслиanotherFloatчисленно равен этому объектуFloat; значение меньше0, если этот объектFloatчисленно меньшеanotherFloat; и значение больше0, если этот объектFloatчисленно большеanotherFloat. - С:
- 1.2
- См. также:
Comparable.compareTo(Object)
compare
public static int compare(float f1,
float f2) Сравнивает два заданных значения float. Знак возвращаемого целого значения такой же, как и целого значения, которое было бы возвращено вызовом:
new Float(f1).compareTo(new Float(f2))
- Параметры:
-
f1- первое значениеfloatдля сравнения. -
f2- второе значениеfloatдля сравнения. - Возвращает:
- значение
0, еслиf1численно равноf2; значение меньше0, еслиf1численно меньшеf2; и значение больше0, еслиf1численно большеf2. - С:
- 1.4
sum
public static float sum(float a,
float b) Складывает два значения float вместе, как в операторе +.
- Параметры:
-
a- первый операнд -
b- второй операнд - Возвращает:
- сумма
aиb - С:
- 1.8
- См. также:
BinaryOperator
max
public static float max(float a,
float b) Возвращает большее из двух значений float, как если бы вызывался Math.max.
- Параметры:
-
a- первый операнд -
b- второй операнд - Возвращает:
- большее из
aиb - С:
- 1.8
- См. также:
BinaryOperator
min
public static float min(float a,
float b) Возвращает меньшее из двух значений float, как если бы вызывался Math.min.
- Параметры:
-
a- первый операнд -
b- второй операнд - Возвращает:
- меньшее из
aиb - С:
- 1.8
- См. также:
BinaryOperator
© 1993, 2020, 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/11/docs/api/java.base/java/lang/Float.html