モジュール java.base
パッケージ java.lang

クラスFloat

すべての実装されたインタフェース:
Serializable, Comparable<Float>, Constable, ConstantDesc

public final class Float
extends Number
implements Comparable<Float>, Constable, ConstantDesc
Floatクラスは、プリミティブ型floatの値をオブジェクトにラップします。 Float型のオブジェクトには、型がfloatの単一フィールドが含まれます。

さらにこのクラスは、floatStringに、Stringfloatに変換する各種メソッドや、floatの処理時に役立つ定数およびメソッドも提供します。

導入されたバージョン:
1.0
関連項目:
直列化された形式
  • フィールドのサマリー

    フィールド 
    修飾子と型 フィールド 説明
    static int BYTES
    float値を表すために使用されるバイト数です。
    static int MAX_EXPONENT
    有限のfloat変数が持つ可能性のある最大指数です。
    static float MAX_VALUE
    float型の正の最大有限値(2-2-23)·2127です。
    static int MIN_EXPONENT
    正規化されたfloat変数が持つ可能性のある最小指数です。
    static float MIN_NORMAL
    float型の正の最小標準値2-126を保持する定数です。
    static float MIN_VALUE
    float型の正の最小非ゼロ値2-149を保持する定数です。
    static float NaN
    float型の非数(NaN)値を保持する定数です。
    static float NEGATIVE_INFINITY
    float型の負の無限大値を保持する定数です。
    static float POSITIVE_INFINITY
    float型の正の無限大値を保持する定数です。
    static int SIZE
    float値を表すのに使われるビット数です。
    static Class<Float> TYPE
    プリミティブ型floatを表すClassインスタンス。
  • コンストラクタのサマリー

    コンストラクタ 
    コンストラクタ 説明
    Float​(double value)
    Deprecated.
    このコンストラクタを使用することはほとんどありません。
    Float​(float value)
    Deprecated.
    このコンストラクタを使用することはほとんどありません。
    Float​(String s)
    Deprecated.
    このコンストラクタを使用することはほとんどありません。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    byte byteValue()
    このFloatの縮小プリミティブ変換後の値をbyteとして返します。
    static int compare​(float f1, float f2)
    指定された2つのfloat値を比較します。
    int compareTo​(Float anotherFloat)
    2つのFloatオブジェクトを数値的に比較します。
    Optional<Float> describeConstable()
    このインスタンス自体の名目記述子を含むOptionalを返します。
    double doubleValue()
    このFloatの拡張プリミティブ変換後の値をdoubleとして返します。
    boolean equals​(Object obj)
    このオブジェクトと指定されたオブジェクトを比較します。
    static int floatToIntBits​(float value)
    IEEE 754浮動小数点の「シングル・フォーマット」ビット・レイアウトに従って、指定された浮動小数点の値を表現して返します。
    static int floatToRawIntBits​(float value)
    IEEE 754浮動小数点の「シングル・フォーマット」ビット・レイアウトに従って、非数(NaN)値を保持する、指定された浮動小数点値の表現を返します。
    float floatValue()
    このFloatオブジェクトのfloat値を返します。
    int hashCode()
    このFloatオブジェクトのハッシュ・コードを返します。
    static int hashCode​(float value)
    Float.hashCode()との互換性がある、float値のハッシュ・コードを返します。
    static float intBitsToFloat​(int bits)
    指定されたビット表現と対応するfloat値を返します。
    int intValue()
    このFloatの縮小プリミティブ変換後の値をintとして返します。
    static boolean isFinite​(float f)
    引数が有限の浮動小数点値である場合はtrueを返し、そうでない場合(NaNおよび無限大の引数の場合)はfalseを返します。
    boolean isInfinite()
    このFloat値の絶対値が無限量である場合にはtrueを、そうでない場合にはfalseを返します。
    static boolean isInfinite​(float v)
    指定された数値の絶対値が無限量である場合にはtrueを、そうでない場合にはfalseを返します。
    boolean isNaN()
    このFloat値が非数(NaN)である場合にはtrueを、そうでない場合はfalseを返します。
    static boolean isNaN​(float v)
    指定された数値が非数(NaN)である場合にはtrueを、そうでない場合はfalseを返します。
    long longValue()
    このFloatの縮小プリミティブ変換後の値をlongとして返します。
    static float max​(float a, float b)
    Math.maxを呼び出した場合と同様に、2つのfloat値の大きいほうを返します。
    static float min​(float a, float b)
    Math.minを呼び出した場合と同様に、2つのfloat値の小さいほうを返します。
    static float parseFloat​(String s)
    FloatクラスのvalueOfメソッドを実行した場合と同様に、指定されたStringが表す値に初期化された新しいfloat値を返します。
    Float resolveConstantDesc​(MethodHandles.Lookup lookup)
    このインスタンスをConstantDescとして解決します。その結果がインスタンス自体です。
    short shortValue()
    このFloatの縮小プリミティブ変換後の値をshortとして返します。
    static float sum​(float a, float b)
    +演算子のように、2つのfloat値を加算します。
    static String toHexString​(float f)
    float引数の16進数文字列表現を返します。
    String toString()
    このFloatオブジェクトの文字列表現を返します。
    static String toString​(float f)
    float引数の文字列表現を返します。
    static Float valueOf​(float f)
    指定されたfloat値を表すFloatインスタンスを返します。
    static Float valueOf​(String s)
    文字列引数sで表されるfloat値を保持するFloatオブジェクトを返します。

    クラス java.lang.Objectで宣言されたメソッド

    clonefinalizegetClassnotifynotifyAllwaitwaitwait
  • フィールド詳細

    • 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
      float型の非数(NaN)値を保持する定数です。 これは、Float.intBitsToFloat(0x7fc00000)から返される値と等しくなります。
      関連項目:
      定数フィールド値
    • MAX_VALUE

      public static final float MAX_VALUE
      float型の正の最大有限値(2-2-23)·2127です。 16進数浮動小数点リテラル0x1.fffffeP+127fと同等であり、Float.intBitsToFloat(0x7f7fffff)とも同等です。
      関連項目:
      定数フィールド値
    • MIN_NORMAL

      public static final float MIN_NORMAL
      float型の正の最小標準値2-126を保持する定数です。 16進数浮動小数点リテラル0x1.0p-126fと同等であり、Float.intBitsToFloat(0x00800000)とも同等です。
      導入されたバージョン:
      1.6
      関連項目:
      定数フィールド値
    • MIN_VALUE

      public static final float MIN_VALUE
      float型の正の最小非ゼロ値2-149を保持する定数です。 16進数浮動小数点リテラル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
      プリミティブ型floatを表すClassインスタンス。
      導入されたバージョン:
      1.1
  • コンストラクタの詳細

    • Float

      @Deprecated(since="9")public Float​(float value)
      Deprecated.
      このコンストラクタを使用することはほとんどありません。 静的ファクトリvalueOf(float)は、より良いスペースと時間のパフォーマンスをもたらす可能性が高いため、通常はより良い選択です。
      プリミティブのfloat引数を表す、新しく割り当てられたFloatオブジェクトを構築します。
      パラメータ:
      value - Floatによって表される値。
    • Float

      @Deprecated(since="9")public Float​(double value)
      Deprecated.
      このコンストラクタを使用することはほとんどありません。 代わりに、静的ファクトリ・メソッドvalueOf(float)メソッドを次のように使用: Float.valueOf((float)value)
      float型に変換された引数を表す、新しく割り当てられたFloatオブジェクトを構築します。
      パラメータ:
      value - Floatによって表される値。
    • Float

      @Deprecated(since="9")public Float​(String s) throws NumberFormatException
      Deprecated.
      このコンストラクタを使用することはほとんどありません。 文字列をfloatプリミティブに変換するにはparseFloat(String)を使用し、文字列をFloatオブジェクトに変換するにはvalueOf(String)を使用します。
      文字列で表されるfloat型の浮動小数点を表す、新しく割り当てられるFloatオブジェクトを構築します。 文字列は、valueOfメソッドと同様にfloat値に変換されます。
      パラメータ:
      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の整数部(先行するゼロを付けない10進数の形式)、「.」('\u002E')、mの小数部を表す1桁以上の10進数、を順に並べたもので表現される。
        • mが10-3未満、あるいは107以上の場合は、浮動小数点表示形式で表現される。 nを、10n m < 10n+1を満たす一意の整数とし、aを、mと10nの数学的に正確な商(1 a < 10)とする。 このとき、絶対値は、aの整数部を表す1桁の10進数、「.」('\u002E')、aの小数部を表す何桁かの10進数、文字「E」('\u0045')、nを10進整数として表現したもの(メソッドInteger.toString(int)で生成)、を順に並べたもので表現される。
      mまたはaの小数部として出力する桁数を検討してみましょう。 小数部を表す桁は1桁以上が必要です。float型の隣接する値から引数を一意に識別するのに最低限必要な桁数にしてください。 たとえば、ゼロでない有限の引数fを指定してこのメソッドで作成した10進値表記をxとします。 この場合、fxにもっとも近いfloat値でなければいけませんが、xまでの距離が同一のfloat値が2つ存在する場合には、fはそのどちらかであり、かつfの仮数の最下位ビットが0でなければいけません。

      浮動小数点値のローカライズされた文字列表現を作成する場合、NumberFormatのサブクラスを使用します。

      パラメータ:
      f - 変換対象のfloat。
      戻り値:
      この引数の文字列表現。
    • toHexString

      public static String toHexString​(float f)
      float引数の16進数文字列表現を返します。 次の文字はすべてASCII文字です。
      • 引数がNaNの場合、変換後の文字列は「NaN」。
      • そうでない場合、結果は、引数の符号および絶対値を表す文字列になります。 符号が負の場合、結果の文字列の最初の文字は「-」('\u002D')となり、符号が正の場合、結果の文字列に符号文字は表示されない。 絶対値mについては、次のとおり:
        • mが無限大の場合、これは文字列"Infinity"で表される。したがって、正の無限大の結果は"Infinity"、負の無限大の結果は"-Infinity"となる。
        • mがゼロの場合、これは文字列"0x0.0p0"で表される。したがって、負のゼロの結果は"-0x0.0p0"、正のゼロの結果は"0x0.0p0"となる。
        • mが正規化された表現のfloat値の場合は、有効数字と指数のフィールドを表すのに部分文字列が使われる。 有効数字は、文字列"0x1."と、小数部として残りの有効数字の小文字の16進表現を続けて表される。 すべての桁が0でないかぎり(すべてが0の場合は単一の0を使用)、16進表現の末尾の0は削除される。 次に、指数は、指数値でInteger.toStringを呼び出して生成するときのように、"p"とそれに続く完全な指数の10進数文字列で表される。
        • mが非正規表現のfloat値の場合、有効数字は、文字列"0x0."と、小数部として残りの有効数字の16進表現を続けて表される。 16進表現の末尾の0は削除されます。 次に、指数は"p-126"で表される。 サブノーマル有効数字内に、ゼロでない数字が1つ以上存在する必要があることに留意してください。
      浮動小数点値16進数文字列
      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
      戻り値:
      この引数の16進数の文字列表現。
      導入されたバージョン:
      1.5
    • valueOf

      public static Float valueOf​(String s) throws NumberFormatException
      文字列引数sで表されるfloat値を保持するFloatオブジェクトを返します。

      snullの場合、NullPointerExceptionがスローされます。

      s内の先頭と末尾の空白文字は無視されます。 空白文字は、String.trim()メソッドで削除されるときのように削除されます。つまり、ASCIIの空白文字と制御文字の両方が削除されます。 sの残りの文字が、次の字句構文ルールに従ってFloatValueを構成します。

      FloatValue:
      Signopt NaN
      Signopt Infinity
      Signopt FloatingPointLiteral
      Signopt HexFloatingPointLiteral
      SignedInteger
      HexFloatingPointLiteral:
      HexSignificand BinaryExponent FloatTypeSuffixopt
      HexSignificand:
      HexNumeral
      HexNumeral .
      0x HexDigitsopt. HexDigits
      0X HexDigitsopt. HexDigits
      BinaryExponent:
      BinaryExponentIndicator SignedInteger
      BinaryExponentIndicator:
      p
      P
      ここで、SignFloatingPointLiteralHexNumeralHexDigitsSignedInteger、およびFloatTypeSuffixは、『Java™言語仕様』の字句構造セクションで規定されているとおりですが、桁間のアンダースコアが受け入れられない点だけは規定と異なります。 sの形式がFloatValueでない場合は、NumberFormatExceptionがスローされます。 そうでない場合、sは通常の「浮動小数点表記」、つまり正確な10進値または16進値を表していると見なされます。この正確な数値は、概念上は「無限に正確なバイナリ値」に変換されてから、IEEE 754浮動小数点計算法による通常の最近似値丸め法(ゼロ値の符号保持を含む)に従ってfloat型に丸められます。 最近似値丸め法は、オーバーフローやアンダーフローの動作が発生することも意味します。sの正確な値の絶対値が十分大きい場合(MAX_VALUE + ulp(MAX_VALUE)/2以上の場合)、floatに丸めると無限大になり、sの正確な値が十分小さい場合(MIN_VALUE/2以下の場合)、float に丸めるとゼロになることに注意してください。 最後に、丸めが完了したら、このfloat値を表すFloatオブジェクトが返されます。

      浮動小数点値のローカライズされた文字列表現を解釈する場合、NumberFormatのサブクラスを使用します。

      末尾の形式指定子つまり浮動小数点リテラルの種類を決定する指定子(1.0ffloat値、1.0ddouble値)は、このメソッドの結果に与えません つまり、入力文字列の数値は、ターゲットの浮動小数点型に直接変換されます。 一般に、文字列をdoubleに変換し、doublefloatに変換する2ステップのシーケンスは、文字列をfloatに変換するのと等価ではありません たとえば、文字列
      "1.00000017881393421514957253748434595763683319091796875001d"
      を最初に中間のdoubleに変換し、次にfloatに変換した場合、結果はfloat1.0000002fになります。その文字列をfloatに直接変換した場合、結果は1.0000001fになります。

      無効な文字列でこのメソッドが呼び出されたり、NumberFormatExceptionがスローされたりしないようにするために、Double.valueOfのマニュアルには、入力のスクリーニングに使うことができる正規表現が記載されています。

      パラメータ:
      s - 解析される文字列。
      戻り値:
      String引数により表される値を保持するFloatオブジェクト。
      例外:
      NumberFormatException - 文字列が解析可能な数値を含まない場合。
    • valueOf

      public static Float valueOf​(float f)
      指定されたfloat値を表すFloatインスタンスを返します。 新規Floatインスタンスが不要な場合、通常このメソッドがコンストラクタFloat(float)に優先して使用されます。その理由は、このメソッドが頻繁に要求される値をキャッシュするので、操作に必要な領域や時間がはるかに少なくて済む場合が多いためです。
      パラメータ:
      f - float値。
      戻り値:
      fを表すFloatインスタンス。
      導入されたバージョン:
      1.5
    • parseFloat

      public static float parseFloat​(String s) throws NumberFormatException
      FloatクラスのvalueOfメソッドを実行した場合と同様に、指定されたStringが表す値に初期化された新しいfloat値を返します。
      パラメータ:
      s - 解析される文字列。
      戻り値:
      文字列引数で表されるfloat値。
      例外:
      NullPointerException - 文字列がnullの場合
      NumberFormatException - 文字列が解析可能なfloatを含まない場合。
      導入されたバージョン:
      1.2
      関連項目:
      valueOf(String)
    • isNaN

      public static boolean isNaN​(float v)
      指定された数値が非数(NaN)である場合にはtrueを、そうでない場合はfalseを返します。
      パラメータ:
      v - 判定される値。
      戻り値:
      引数がNaNである場合はtrue、そうでない場合はfalse
    • isInfinite

      public static boolean isInfinite​(float v)
      指定された数値の絶対値が無限量である場合にはtrueを、そうでない場合にはfalseを返します。
      パラメータ:
      v - 判定される値。
      戻り値:
      引数が正または負の無限大の場合はtrue、そうでない場合はfalse
    • isFinite

      public static boolean isFinite​(float f)
      引数が有限の浮動小数点値である場合はtrueを返し、そうでない場合(NaNおよび無限大の引数の場合)はfalseを返します。
      パラメータ:
      f - 判定されるfloat
      戻り値:
      その引数が有限の浮動小数点値である場合はtrue、それ以外の場合はfalse
      導入されたバージョン:
      1.8
    • isNaN

      public boolean isNaN()
      このFloat値が非数(NaN)である場合にはtrueを、そうでない場合はfalseを返します。
      戻り値:
      このオブジェクトが表す値がNaNである場合はtrue、そうでない場合はfalse
    • isInfinite

      public boolean isInfinite()
      このFloat値の絶対値が無限量である場合にはtrueを、そうでない場合にはfalseを返します。
      戻り値:
      このオブジェクトが表す値が正の無限大または負の無限大である場合はtrue、そうでない場合はfalse
    • toString

      public String toString()
      このFloatオブジェクトの文字列表現を返します。 このオブジェクトが表すプリミティブfloat値は、1つの引数を取るtoStringメソッドを実行した場合と同じStringに変換されます。
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      このオブジェクトのString表現。
      関連項目:
      toString(float)
    • byteValue

      public byte byteValue()
      このFloatの縮小プリミティブ変換後の値をbyteとして返します。
      オーバーライド:
      byteValue、クラス: Number
      戻り値:
      このオブジェクトが表すfloat値をbyte型に変換したもの。
      Java言語仕様を参照してください:
      5.1.3 プリミティブ・コンバージョンの解説
    • shortValue

      public short shortValue()
      このFloatの縮小プリミティブ変換後の値をshortとして返します。
      オーバーライド:
      shortValue、クラス: Number
      戻り値:
      このオブジェクトが表すfloat値をshort型に変換したもの。
      Java言語仕様を参照してください:
      5.1.3 プリミティブ・コンバージョンの解説
      導入されたバージョン:
      1.1
    • intValue

      public int intValue()
      このFloatの縮小プリミティブ変換後の値をintとして返します。
      定義:
      intValue、クラス: Number
      戻り値:
      このオブジェクトが表すfloat値をint型に変換したもの。
      Java言語仕様を参照してください:
      5.1.3 プリミティブ・コンバージョンの解説
    • longValue

      public long longValue()
      このFloatの縮小プリミティブ変換後の値をlongとして返します。
      定義:
      longValue、クラス: Number
      戻り値:
      このオブジェクトが表すfloat値をlong型に変換したもの。
      Java言語仕様を参照してください:
      5.1.3 プリミティブ・コンバージョンの解説
    • floatValue

      public float floatValue()
      このFloatオブジェクトのfloat値を返します。
      定義:
      floatValue、クラス: Number
      戻り値:
      このオブジェクトが表すfloat値。
    • doubleValue

      public double doubleValue()
      このFloatの拡張プリミティブ変換後の値をdoubleとして返します。
      定義:
      doubleValue、クラス: Number
      戻り値:
      このオブジェクトが表すfloat値をdouble型に変換したもの
      Java言語仕様を参照してください:
      5.1.2 プリミティブ変換の強化
    • hashCode

      public int hashCode()
      このFloatオブジェクトのハッシュ・コードを返します。 結果は、floatToIntBits(float)メソッドで生成した場合とまったく同じように、このFloatオブジェクトが表すプリミティブfloat値のint型ビット表現になります。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このオブジェクトのハッシュ・コード値。
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • hashCode

      public static int hashCode​(float value)
      Float.hashCode()との互換性がある、float値のハッシュ・コードを返します。
      パラメータ:
      value - ハッシュ対象の値
      戻り値:
      float値のハッシュ・コード値。
      導入されたバージョン:
      1.8
    • equals

      public boolean equals​(Object obj)
      このオブジェクトと指定されたオブジェクトを比較します。 結果がtrueになるのは、引数がnullでなく、このオブジェクトが表すfloat値と同じ値のfloatを表すFloatオブジェクトである場合だけです。 このため、2つのfloat値が等しいと見なされるのは、floatToIntBits(float)メソッドを各値に適用したときに同一のint値が返される場合だけです。

      ほとんどの場合、クラスFloatの2つのインスタンスf1f2について、f1.equals(f2)の値がtrueになるのは、

         f1.floatValue() == f2.floatValue()
       

      上記の値もtrueになる場合だけです。 しかし、例外事項も2つあります。

      • f1f2がどちらもFloat.NaNを表している場合、Float.NaN==Float.NaNの値がfalseになるにもかかわらず、equalsメソッドからはtrueが返されます。
      • f1+0.0fを表し、f2-0.0fを表している場合、あるいはその逆の場合、0.0f==-0.0fの値がtrueになるにもかかわらず、equalテストの値はfalseになります。
      この定義によって、ハッシュ表は正しく動作します。

      オーバーライド:
      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)
      指定されたビット表現と対応するfloat値を返します。 引数は、IEEE 754浮動小数点「シングル・フォーマット(single format)」ビット配列に従った浮動小数点表現と見なされます。

      引数が0x7f800000の場合、結果は正の無限大値になります。

      引数が0xff800000の場合、結果は負の無限大値になります。

      引数が0x7f800001から0x7fffffff、または0xff800001から0xffffffffの範囲内の値である場合、結果はNaNになります。 Javaにより提供されるIEEE 754浮動小数点操作は、異なるビット・パターンを持つ同じ型の2つのNaN値を識別できません。 個別のNaN値を識別できるのは、Float.floatToRawIntBitsメソッドを使用する場合だけです。

      そのほかの場合では、se、およびmの3つの値について次の引数から計算できるとします。

      
       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の値と等しくなります。

      このメソッドは、int引数とまったく同じビット・パターンを持つfloat NaNを返すことができない可能性があります。 IEEE 754では、2種類のNaN (「シグナルを発生しないNaN」と「シグナルを発生するNaN」)を区別します。 2種類のNaNの違いは、通常Javaでは確認できません。 シグナルを発生するNaNでの算術演算では、シグナルを発生するNaNが、異種でありながら同様のビット・パターンを持つシグナルを発生しないNaNに変わります。 ただし、シグナルを発生するNaNを単にコピーする一部のプロセッサも、この変換も行います。 特に、シグナルを発生するNaNをコピーして、呼出し側のメソッドに返すことで、この変換を実行できます。 したがって、intBitsToFloatは、シグナルを発生するNaNビット・パターンを持つfloatを返すことができない可能性があります。 したがって、一部のint値では、floatToRawIntBits(intBitsToFloat(start))startと等しくならないことがあります。 加えて、どの特定のビット・パターンがシグナルを発生するNaNを表すかは、プラットフォームによって異なります。シグナルを発生しないかシグナルを発生するかにかかわらず、すべてのNaNビット・パターンは上に示すNaNの範囲になければいけません。

      パラメータ:
      bits - 整数。
      戻り値:
      同じビット・パターンを持つfloat浮動小数点値。
    • compareTo

      public int compareTo​(Float anotherFloat)
      2つのFloatオブジェクトを数値的に比較します。 このメソッドによる比較は、Java言語の数値比較演算子(<,<=,==,>=,>)をプリミティブfloat値に適用した場合とは、次の2点で異なります。
      • このメソッドでは、Float.NaNは自身に等しく、ほかのすべてのfloat値(Float.POSITIVE_INFINITYを含む)よりも大きいとみなされる。
      • このメソッドでは、0.0f-0.0fより大きいとみなされる。
      こうして、メソッドにより適用されるFloatオブジェクトの自然順序付けで、equalsとの一貫性が確保されます。
      定義:
      compareTo、インタフェース: Comparable<Float>
      パラメータ:
      anotherFloat - 比較対象のFloat
      戻り値:
      anotherFloatがこのFloatと同じ数値の場合は値0FloatanotherFloatより小さい数値の場合は0より小さい値。FloatanotherFloatより大きい数値の場合は0より大きい値。
      導入されたバージョン:
      1.2
      関連項目:
      Comparable.compareTo(Object)
    • compare

      public static int compare​(float f1, float f2)
      指定された2つのfloat値を比較します。 返される整数値の符号は、次の呼出しで返される整数の符号と同じになります。
          new Float(f1).compareTo(new Float(f2))
       
      パラメータ:
      f1 - 比較する最初のfloat
      f2 - 比較する2番目のfloat
      戻り値:
      f1がこのf2と同じ数値の場合は値0f1f2より小さい数値の場合は0より小さい値。f1f2より大きい数値の場合は0より大きい値。
      導入されたバージョン:
      1.4
    • sum

      public static float sum​(float a, float b)
      +演算子のように、2つのfloat値を加算します。
      パラメータ:
      a - 第1オペランド
      b - 第2オペランド
      戻り値:
      abの合計
      Java言語仕様を参照してください:
      4.2.4 浮動小数点操作
      導入されたバージョン:
      1.8
      関連項目:
      BinaryOperator
    • max

      public static float max​(float a, float b)
      Math.maxを呼び出した場合と同様に、2つのfloat値の大きいほうを返します。
      パラメータ:
      a - 第1オペランド
      b - 第2オペランド
      戻り値:
      abのどちらか大きい方
      導入されたバージョン:
      1.8
      関連項目:
      BinaryOperator
    • min

      public static float min​(float a, float b)
      Math.minを呼び出した場合と同様に、2つのfloat値の小さいほうを返します。
      パラメータ:
      a - 第1オペランド
      b - 第2オペランド
      戻り値:
      abのどちらか小さい方
      導入されたバージョン:
      1.8
      関連項目:
      BinaryOperator
    • describeConstable

      public Optional<Float> describeConstable()
      このインスタンス自体の名目記述子を含むOptionalを返します。
      定義:
      インタフェースConstable内のdescribeConstable
      戻り値:
      Floatインスタンスを説明するOptional
      導入されたバージョン:
      12
    • resolveConstantDesc

      public Float resolveConstantDesc​(MethodHandles.Lookup lookup)
      このインスタンスをConstantDescとして解決します。その結果がインスタンス自体です。
      定義:
      インタフェースConstantDesc内のresolveConstantDesc
      パラメータ:
      lookup - ignored
      戻り値:
      Floatインスタンス
      導入されたバージョン:
      12