Класс 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.
- С тех пор:
- JDK1.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.
- С:
- JDK1.1
Конструкторы
Float
public Float(float value)
Создаёт новый объект Float, представляющий примитивное значение float.
- Параметры:
-
value- значение, которое будет представлено объектомFloat.
Float
public Float(double value)
Создаёт новый объект Float, представляющий аргумент, преобразованный к типу float.
- Параметры:
-
value- значение, которое будет представлено объектомFloat.
Float
public Float(String s)
throws NumberFormatException Создаёт новый объект Float, представляющий значение с плавающей точкой типа float, представленное строкой. Строка преобразуется в значение с плавающей точкой как если бы это делалось методом valueOf.
- Параметры:
-
s- строка, которая должна быть преобразована в значение с плавающей точкой. - Исключения:
-
NumberFormatException- если строка не содержит анализируемого числа. - См. также:
valueOf(java.lang.String)
Методы
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 должно быть значением float, ближайшим к x; или, если два значения float равноудалены от 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; 1.0d - это значение double значение), не влияют на результаты этого метода. Другими словами, числовое значение входной строки преобразуется непосредственно в целевой тип с плавающей точкой. В общем случае, двухэтапный процесс преобразований, строка в double и далее double в float, не эквивалентен непосредственному преобразованию строки в float. Например, если сначала преобразовать в промежуточное double и затем в float, строка
"1.00000017881393421514957253748434595763683319091796875001d"
даст значение с плавающей точкой float; если строка преобразуется непосредственно в 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- если строка не содержит разборного числа с плавающей точкой. - С:
- 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. Примитивное значение float, представленное этим объектом, преобразуется в String точно так же, как и методом toString с одним аргументом.
- Переопределяет:
-
toStringв классеObject - Возвращает:
- представление этого объекта в виде
String. - См. также:
toString(float)
byteValue
public byte byteValue()
Возвращает значение этого объекта Float в виде byte после сужающего преобразования примитивного типа.
- Переопределяет:
-
byteValueв классеNumber - Возвращает:
- значение
floatпредставленное этим объектом, преобразованное к типуbyte
shortValue
public short shortValue()
Возвращает значение этого объекта Float в виде short после сужающего преобразования примитивного типа.
- Переопределяет:
-
shortValueв классеNumber - Возвращает:
- значение
floatпредставленное этим объектом, преобразованное к типуshort - С момента:
- JDK1.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, представленного этим объектом 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, представляющим значение с плавающей запятой float с тем же значением, что и значение 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 "single format".
Бит 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 "single format", сохраняя значения "Не число" (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 "single format".
Если аргумент равен 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 может не быть в состоянии вернуть NaN с сигнализирующим 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.