Category: Develop

14-18.BigInteger

 
 
 

18.BigInteger
 BigIntegerクラスはNumberクラスのサブクラスで、long型の数値を扱う際に便利な機能を備える。 

import java.math.BigInteger

メンバー変数

static
BigInteger

ZERO
    BigInteger型の0を表す。

static
BigInteger

ONE
    BigInteger型の1を表す。
コンストラクタ
BigInteger(byte[] val)
      2の補数2進表現を含むバイト配列をBigIntegerに変換する。valの配列の大きさが0の場合はNumberFormatExceptionが投げられる。
BigInteger(String val)
      "-4096"のように符号と10進数の文字列表現をBigIntegerに変換する。valの値が不正の場合はNumberFormatExceptionが投げられる。
BigInteger(String val,int radix)
      符号とradix進数の文字列表現をBigIntegerに変換する。radixが10の場合は一つ上のコンストラクタと同じになる。valの値が不正の場合、radixが2〜36以外の場合はNumberFormatExceptionが投げられる。
BigInteger(int numBits,Random rnd)
      0〜(2numBits-1) の範囲にある一様分布の乱数を返す。numBitsが負数の場合はIllegalArgumentExceptionが投げられる。
 
メソッド
static
BigInteger
valueOf(long val)
      valをBigInteterに変換する。
BigInteger add(BigInteger val)
      自分とvalの値を加えたBigIntegerを返す。
BigInteger subtract(BigInteger val)
      
自分からvalを引いたBigIntegerを返す。
BigInteger negative()
      -thisを返す。
BigInteger multiply(BigInteger val)
      this * valを返す。
BigInteger divide(BigInteger val)
      this/valを返す。valが0の場合はArithmeticExceptionが投げられる。
BigInteger remainder(BigInteger val)
      this % val(0もしくは正数)を返す。valが0の場合はArithmenticExceptionが投げられる。
BigInteger divideAndRemainder(BigInteger val)
      this/valとthis % val(0もしくは正数)とからなる要素2のBigInteger配列を返す。valが0の場合はArithmeticExceptionが投げられる。
BigInteger mod(BigInteger val)
      this mod val(負数になる可能性がある)を返す。
BigInteger abs()
      
絶対値を返す。
BigInteger pow(int exponent)
      thisexponentを返します。
      exponentが負数の場合はArithmeticExceptionが投げらる。
BigInteger modPow(BigInteger exponent, BigInteger m)
      thisexponent mod m(負数になる可能性がある)を返す。valが0の場合はArithmeticExceptionが投げらる。
BigInteger gcd(BigInteger val)
      thisの絶対値とvalの絶対値の最大公約数を求める。
double doubleValue()
      double型に変換します。絶対値が大きくてdouble型に変換できない場合は、正の無限大Double.POSITIVE_INFINITYもしくは、負の無限大Double.NEGATIVE_INFINITYが返される。
int floatValue()
      float型に変換する。絶対値が大きくてfloat型に変換できない場合は、正の無限大Float.POSITIVE_INFINITYもしくは、負の無限大Float.NEGATIVE_INFINITYが返される。
int intValue()
      int型に変換する。絶対値が大きくてint型に変換できない場合は、下位32bitのみが保持される。
long longValue()
      long型に変換する。絶対値が大きくてlong型に変換できない場合は、下位64bitのみが保持される。
byte[] toByteArray()
      このBigIntegerの2の補数表現を含むバイト配列を返します。バイト配列は「ビッグエンディアン」の並びになる。
String toString()
      このBigIntegerを10進数で文字列表現に変換する。
String toString(int radix)
      このBigIntegerをradix進数で文字列表現に変換する。
boolean equals(Object o)
      oがBigIntegerクラスで、thisと同じ値である場合にtrueが返される。
int compareTo(BigInteger val)
      valと比較をし、this<valの場合は-1、this=valの場合は0、this>valの場合は+1が返される。
BigInteger max(BigInteger val)
      thisとvalの大きい方が返される。
BigInteger min(BigInteger val)
      thisとvalの小さい方が返される。
BigInteger and(BigInteger val)
      自分とvalの論理積をとる。(this & val)
BigInteger or(BigInteger val)
      自分とvalの論理和をとる。(this | val)
BigInteger xor(BigInteger val)
      自分とvalの排他的論理和をとる。(this ^ val)
BigInteger not()
      自分のnotを返します。(~this)
自分が正数の場合に負数になる。
BigInteger andNot(BigInteger val)
      自分とvalのNot値とのandをとる。(this & ~val)
BigInteger clearBit(int n)
      指定したビットを0にします。すなわち ((this & ~(1<<n))を計算する。
      nが負数の場合はArithmeticExceptionが投げられる。
BigInteger testBit(int n)
      指定したビットが1ならtrueを返す。すなわち ((this & (1<<n)) != 0)を計算する。
      nが負数の場合はArithmeticExceptionが投げられる。
BigInteger setBit(int n)
      指定したビットを1にする。すなわち ((this | ~(1<<n))を計算する。
      nが負数の場合はArithmeticExceptionが投げられる。
BigInteger flipBit(int n)
      指定したビットを反転にします。すなわち ((this ^ (1<<n)) を計算します。
      nが負数の場合はArithmeticExceptionが投げられます。
BigInteger shiftLeft(int n)
      値が (this << n) の BigInteger を返す。シフト移動量 n が負の場合は、このメソッドは右シフトを実行する。
BigInteger shiftRight(int n)
      値が (this >> n) の BigInteger を返す。シフト移動量 n が負の場合は、このメソッドは左シフトを実行する。
int bitLength()
      2の補数で表現した場合に何バイトになるかを計算する。(ただし、符号ビットは除く)
      すなわち((ceil(log2(this < 0 ? -this : this+1))) と同じである。
   

14-17.Double

 
 
 

17.Double
 DoubleクラスはNumberクラスのサブクラスで、double型の数値を扱う際に便利な機能を備える。 

import java.lang.Double

メンバー変数

static
double

MAX_VALUE
      double型で表現できる最大値(1.7976931348623157E308d)が保持されている定数。

static
double

MIN_VALUE
      double型で表現できる最小値(4.9E-324d)が保持されている定数。

static
double

NaN
      double型の非数(NaN)値(0d/0d)が保持されている定数。

static
double

NEGATIVE_INFINITY
      double型の負の無限大(-1d/0d)が保持されている定数。

static
double

POSITIVE_INFINITY
      double型の正の無限大(1d/0d)が保持されている定数。
コンストラクタ
Double(double value)
      指定された値を持つdoubleインスタンスを作成。
Double(String s)
      10進数表記の文字列で表現された数値をDouble型に変換。浮動小数点記(例えば”1.23E10”)にも対応している。変換可能な文字列を含まない場合には NumberFormatExceptionが投げられる。
 
メソッド
byte byteValue()
      byte型に変換する。切り捨てられたり、丸め込まれる場合もある。
short shortValue()
      short型に変換する。切り捨てられたり、丸め込まれる場合もある。
int intValue()
      int型に変換する。切り捨てられたり、丸め込まれる場合もある。
long longValue()
      long型に変換する。切り捨てられたり、丸め込まれる場合もある。
float floatValue()
      float型に変換する。切り捨てられたり、丸め込まれる場合もある。
double doubleValue()
      double型に変換する。
boolean equals(Object obj)
      objが同じ値を示すByteクラスのインスタンスの場合にtrueが返される。同じ値でも違うクラス(例えばIntegerクラス)のインスタンスの場合はfalseになる。
boolean isInfinite()
      NEGATIVE_INFINITYまたはPOSITIVE_INFINITYの時にtrueが返される。
boolean isNaN()
      NaNの時にtrueが返される。
String toString()
      10進数表記の文字列に変換する。
ただし、NaNの場合は”NaN”、正の無限大、負の無限大はそれぞれ「Infinity」「-Infinity」となる。10の-3乗未満あるいは10の7乗以上の場合は、浮動小数点表示形式で表現する。
static
Double
valueOf(String str)
      
      10進数表記の文字列で表現された数値をDouble型に変換する。浮動小数点表記(例えば”1.23E10”)にも対応している。数値に変換不可能な文字列の場合にはNumberFormatExeceptionが投げられる。
static
boolean
isInfinite(double f)
      NEGATIVE_INFINITYまたはPOSITIVE_INFINITYの時にtrueが返される。
static
boolean
isNaN(double f)
      NaNの時にtrueが返される。
   

14-16.Float

 
 
 

16.Float
 FloatクラスはNumberクラスのサブクラスで、float型の数値を扱う際に便利な機能を備える。 

import java.lang.Float

メンバー変数

static
float

MAX_VALUE
      float型で表現できる最大値(3.4028234633852886E38f)が保持されている定数。

static
float

MIN_VALUE
      float型で表現できる最小値(1.401298464324817E-45f)が保持されている定数。

static
float

NaN
      float型の非数(NaN)値(0f/0f)が保持されている定数。

static
float

NEGATIVE_INFINITY
      float型の負の無限大(-1f/0f)が保持されている定数。

static
float

POSITIVE_INFINITY
      float型の正の無限大(1f/0f)が保持されている定数。
コンストラクタ
Float(float value)
      指定された値を持つFloatインスタンスを作成。
Float(double value)
      指定された値を持つFloatインスタンスを作成。丸め込まれる可能性がある。
Float(String s)
      10進数表記の文字列で表現された数値をFloat型に変換。浮動小数点記(例えば”1.23E10”)にも対応している。変換可能な文字列を含まない場合には NumberFormatExceptionが投げられる。
 
メソッド
byte byteValue()
      byte型に変換する。切り捨てられたり、丸め込まれる場合もある。
short shortValue()
      short型に変換する。切り捨てられたり、丸め込まれる場合もある。
int intValue()
      int型に変換する。切り捨てられたり、丸め込まれる場合もある。
float floatValue()
      float型に変換する。切り捨てられたり、丸め込まれる場合もある。
float floatValue()
      float型に変換する。
double doubleValue()
      double型に変換する。
boolean equals(Object obj)
      objが同じ値を示すByteクラスのインスタンスの場合にtrueが返される。同じ値でも違うクラス(例えばIntegerクラス)のインスタンスの場合はfalseになる。
boolean isInfinite()
      NEGATIVE_INFINITYまたはPOSITIVE_INFINITYの時にtrueが返される。
boolean isNaN()
      NaNの時にtrueが返される。
String toString()
      10進数表記の文字列に変換する。
ただし、NaNの場合は”NaN”、正の無限大、負の無限大はそれぞれ「Infinity」「-Infinity」となる。10の-3乗未満あるいは10の7乗以上の場合は、浮動小数点表示形式で表現する。
static
Float
valueOf(String str)
      
      10進数表記の文字列で表現された数値をFloat型に変換する。浮動小数点表記(例えば”1.23E10”)にも対応している。数値に変換不可能な文字列の場合にはNumberFormatExeceptionが投げられる。
static
boolean
isInfinite(float f)
      NEGATIVE_INFINITYまたはPOSITIVE_INFINITYの時にtrueが返される。
static
boolean
isNaN(float f)
      NaNの時にtrueが返される。