クラスBigInteger

java.lang.Object
java.lang.Number
java.math.BigInteger
ã™ã¹ã¦ã®å®Ÿè£…ã•れãŸã‚¤ãƒ³ã‚¿ãƒ•ェース:
Serializable, Comparable<BigInteger>

public class BigInteger extends Number implements Comparable<BigInteger>
変更ãŒä¸å¯èƒ½ãªã€ä»»æ„ç²¾åº¦ã®æ•´æ•°ã§ã™ã€‚ ã™ã¹ã¦ã®æ¼”ç®—ã¯ã€BigIntegerãŒ(Javaã®ãƒ—リミティブ整数型ã®ã‚ˆã†ãª) 2値補数表記法ã§è¡¨ã•れãŸã‹ã®ã‚ˆã†ã«å‹•作ã—ã¾ã™ã€‚ BigIntegerã¯ã€Javaã®ã™ã¹ã¦ã®ãƒ—リミティブ整数演算å­ã¨ã€java.lang.Mathã®é–¢é€£ã™ã‚‹ã™ã¹ã¦ã®ãƒ¡ã‚½ãƒƒãƒ‰ã«åŒç­‰ã®ã‚‚ã®ã‚’æä¾›ã—ã¾ã™ã€‚ ã¾ãŸã€BigIntegerã¯ã€ãƒ¢ã‚¸ãƒ¥ãƒ©ç®—è¡“ã€GCD計算ã€ç´ æ•°åº¦ãƒ†ã‚¹ãƒˆã€ç´ æ•°ç”Ÿæˆã€ãƒ“ットæ“作ã€ãã®ä»–ã®ã„ãã¤ã‹ã®æ“作ã«å¯¾ã™ã‚‹æ¼”ç®—ã‚‚æä¾›ã—ã¾ã™ã€‚

算術演算ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ãƒƒã‚¯ã‚¹ã¯ã€ã€ŽJava言語仕様ã€ã«å®šç¾©ã•れã¦ã„るよã†ã«Javaã®æ•´æ•°ç®—術演算å­ã‚’æ­£ç¢ºã«æ¨¡å€£ã—ã¾ã™ã€‚ ãŸã¨ãˆã°ã€ã‚¼ãƒ­é™¤ç®—ã¯ArithmeticExceptionをスローã—ã€æ­£ã®æ•°ã«ã‚ˆã‚‹è² ã®æ•°ã®é™¤ç®—ã¯è² (ã¾ãŸã¯0)ã®å‰°ä½™ã‚’出ã—ã¾ã™ã€‚

シフト演算ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ãƒƒã‚¯ã‚¹ã¯ã€è² ã®ã‚·ãƒ•ト移動é‡ã‚’å¯èƒ½ã«ã™ã‚‹ãŸã‚Javaã®ã‚·ãƒ•ト演算å­ã‚’æ‹¡å¼µã—ã¦ã„ã¾ã™ã€‚ è² ã®ã‚·ãƒ•ト移動é‡ã‚’æŒã¤å³ã‚·ãƒ•トã¯å·¦ã‚·ãƒ•トã¨ãªã‚Šã¾ã™ã€‚逆ã®å ´åˆã‚‚åŒã˜ã§ã™ã€‚ ã“ã®æ“作ã§ã¯ã€ç„¡ç½²åã®å³ã‚·ãƒ•ト演算å­(>>>)ã¯çœç•¥ã•れã¦ã„ã¾ã™ãŒã€æ¦‚念的ã«ã¯å›ºå®šã®ä»®æƒ³ç¬¦å·ãƒ“ãƒƒãƒˆã®æ•°ãŒç„¡é™ã®è¡¨ç¾ã§ã¯ãªãã€æ¦‚念的ã«ã¯å›ºå®šã®ã‚µã‚¤ã‚ºã§ã¯ã‚りã¾ã›ã‚“。

ビットå˜ä½ã®è«–ç†æ¼”ç®—ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ãƒƒã‚¯ã‚¹ã¯ã€Javaã®ãƒ“ット整数演算å­ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ãƒƒã‚¯ã‚¹ã‚’æ­£ç¢ºã«æ¨¡å€£ã—ã¦ã„ã¾ã™ã€‚ 2項演算å­(andã€orã€xor)ã¯ã€æ¼”ç®—å‰ã«2ã¤ã®ã‚ªãƒšãƒ©ãƒ³ãƒ‰ã®çŸ­ã„æ–¹ã«å¯¾ã—ã¦æš—黙的ã«ç¬¦å·æ‹¡å¼µã‚’行ã„ã¾ã™ã€‚

比較演算ã¯ç¬¦å·ä»˜ãæ•´æ•°ã®æ¯”較を行ã„ã¾ã™ã€‚ã“れã¯ã€Javaã®é–¢é€£ã™ã‚‹æ¼”ç®—å­ãŠã‚ˆã³åŒç­‰ã®æ¼”ç®—å­ã«ã‚ˆã‚Šè¡Œã‚れるもã®ã¨åŒã˜ã§ã™ã€‚

モジュラ算術演算ã¯ã€å‰°ä½™è¨ˆç®—ã€ã¹ãä¹—ã€ãŠã‚ˆã³ä¹—法逆数計算ã®ãŸã‚ã«æä¾›ã•れã¦ã„ã¾ã™ã€‚ ã“れらã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€å¸¸ã«0ã¨(modulus - 1)ã®é–“ã®è² ã§ãªã„çµæžœã‚’è¿”ã—ã¾ã™ã€‚

ビット演算ã¯ã€ã‚ªãƒšãƒ©ãƒ³ãƒ‰ã®2ã®è£œæ•°è¡¨ç¾ã®ã‚·ãƒ³ã‚°ãƒ«ãƒ»ãƒ“ットã«ä½¿ç”¨ã—ã¾ã™ã€‚ å¿…è¦ã«å¿œã˜ã¦ã€æŒ‡å®šã•れãŸãƒ“ットãŒå«ã¾ã‚Œã‚‹ã‚ˆã†ã«ã‚ªãƒšãƒ©ãƒ³ãƒ‰ãŒæ‹¡å¼µã•れã¾ã™ã€‚ å˜ä¸€ãƒ“ットæ“作ã§ã¯ã€æ“作対象ã®BigIntegerã¨ã¯ç•°ãªã‚‹ç¬¦å·ã‚’使用ã—ã¦BigIntegerを生æˆã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。ã“ã®ã‚¯ãƒ©ã‚¹ã§æä¾›ã•れる任æ„ã®å¤§è¦æ¨¡ãªæŠ½è±¡åŒ–ã«ã‚ˆã£ã¦ã€å„BigIntegerã®å‰ã«ã‚ã‚‹"仮想符å·ãƒ“ット"ãŒç„¡åˆ¶é™ã«å­˜åœ¨ã™ã‚‹ã“ã¨ãŒä¿è¨¼ã•れã¾ã™ã€‚

説明をã‚ã‹ã‚Šã‚„ã™ãç°¡æ½”ã«ã™ã‚‹ãŸã‚ã«ã€BigIntegerメソッドã®èª¬æ˜Žã§ã¯å…¨ä½“を通ã—ã¦æ“¬ä¼¼ã‚³ãƒ¼ãƒ‰ã‚’使用ã—ã¾ã™ã€‚ 擬似コードå¼(i+j)ã¯ã€ã€Œå€¤ãŒBigInteger iã®å€¤ã¨BigInteger jã®å€¤ã®å’Œã§ã‚ã‚‹BigIntegerã€ã‚’示ã—ã¾ã™ã€‚ 擬似コードå¼(i == j)ã¯ã€ã€ŒBigInteger iãŒBigInteger jã¨åŒã˜å€¤ã‚’表ã™å ´åˆã«ã ã‘trueã§ã‚ã‚‹ã“ã¨ã€ã‚’示ã—ã¾ã™ã€‚ ã»ã‹ã®æ“¬ä¼¼ã‚³ãƒ¼ãƒ‰å¼ã‚‚åŒã˜ã‚ˆã†ã«è§£é‡ˆã•れã¾ã™ã€‚

ã“ã®ã‚¯ãƒ©ã‚¹ã®ãƒ¡ã‚½ãƒƒãƒ‰ãŠã‚ˆã³ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯ã™ã¹ã¦ã€å…¥åŠ›ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã«å¯¾ã—ã¦nullオブジェクトå‚ç…§ãŒæ¸¡ã•れるã¨NullPointerExceptionをスローã—ã¾ã™ã€‚ BigIntegerã¯ã€-2Integer.MAX_VALUE (ã“れをå«ã¾ãªã„)ã‹ã‚‰+2Integer.MAX_VALUE (ã“れをå«ã¾ãªã„)ã¾ã§ã®ç¯„囲ã®å€¤ã‚’サãƒãƒ¼ãƒˆã™ã‚‹å¿…è¦ãŒã‚りã€ã“ã®ç¯„囲外ã®å€¤ã‚’サãƒãƒ¼ãƒˆã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ BigIntegerコンストラクタã¾ãŸã¯ãƒ¡ã‚½ãƒƒãƒ‰ãŒã‚µãƒãƒ¼ãƒˆã•れã¦ã„る範囲外ã®å€¤ã‚’生æˆã™ã‚‹ã¨ã€ArithmeticExceptionãŒã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã€‚ 確率的素数ã®å€¤ã®ç¯„囲ã¯é™ã‚‰ã‚Œã€BigIntegerã§ã‚µãƒãƒ¼ãƒˆã•れる正ã®ç¯„囲全体よりå°ã•ã„å ´åˆãŒã‚りã¾ã™ã€‚ 範囲ã¯å°‘ãªãã¨ã‚‚1ã‹ã‚‰2500000000ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“。

APIã®ãƒŽãƒ¼ãƒˆ:
BigInteger値ã¯ä»»æ„ã®ç²¾åº¦æ•´æ•°ã§ã‚ã‚‹ãŸã‚ã€ã“ã®ã‚¯ãƒ©ã‚¹ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®è¤‡é›‘ã•ã¯å¤‰åŒ–ã—ã€å…¥åŠ›ã®ã‚µã‚¤ã‚ºãŒè¶…ç·šå½¢ã«ãªã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ ãŸã¨ãˆã°ã€intValue()ã®ã‚ˆã†ãªãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€inO(1)を実行ã™ã‚‹ã“ã¨ãŒæƒ³å®šã•れã¾ã™ã€‚ã“れã¯ã€ç¾åœ¨ã®å†…部表ç¾ã§ã¯ã€intã¸ã®å¤‰æ›ã‚’実行ã™ã‚‹ãŸã‚ã«ã€BigIntegerã®å›ºå®šã‚µã‚¤ã‚ºã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã®ã¿ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ãŸã‚ã€ä¸€å®šã®æ™‚é–“ã§ã™ã€‚ 対照的ã«ã€not()ã®ã‚ˆã†ãªãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€inO(n)時間を実行ã—ã¾ã™ã€‚ã“ã“ã§ã€nã¯BigIntegerã®ã‚µã‚¤ã‚º(ビットå˜ä½)ã§ã™ã€‚ã¤ã¾ã‚Šã€å…¥åŠ›ã®ã‚µã‚¤ã‚ºã«æ¯”例ã—ã¦æ™‚間内ã«å®Ÿè¡Œã•れã¾ã™ã€‚ サイズnã®2ã¤ã®BigInteger値を乗算ã™ã‚‹å ´åˆã€ãƒŠã‚¤ãƒ¼ãƒ–乗算アルゴリズムãŒtimeO(n2)ã§å®Ÿè¡Œã•れã€ç†è«–çµæžœã¯ã€ã“ã®ã‚«ãƒ†ã‚´ãƒªã®è¡¨ç¾ã‚’使用ã™ã‚‹æ•°å€¤ã®ä¹—算アルゴリズムãŒã€Œå°‘ãªãã¨ã‚‚〠O(n log n)ã§å®Ÿè¡Œã•れる必è¦ãŒã‚ã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚ ナイブ・ケースã¨ç†è«–的ケースã®å¢ƒç•Œé–“ã®å…±é€šã®ä¹—算アルゴリズムã«ã¯ã€Karatsuba multiplication(O(n1.585)ã¨3ウェイToom-Cook multiplication(O(n1.465)ãŒã‚りã¾ã™ã€‚

multiplyã®ç‰¹å®šã®å®Ÿè£…ã¯ã€ç•°ãªã‚‹å…¥åŠ›ã«å¯¾ã—ã¦ç•°ãªã‚‹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’自由ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ãŸã¨ãˆã°ã€ã‚ˆã‚Šå˜ç´”ãªã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ãŒæ¼¸è¿‘的複雑度ãŒå¤§ãã„å ´åˆã§ã‚‚ã€ã‚ˆã‚Šå˜ç´”ãªå…¥åŠ›ã«å¯¾ã—ã¦ã‚ˆã‚Šå˜ç´”ãªã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’使用ã—ã¦è£½å“を生æˆã™ã‚‹å®Ÿéš›ã®å®Ÿè¡Œæ™‚間を短縮ã§ãã¾ã™ã€‚

æ“作ã§ã¯ã€ä¸­é–“çµæžœã‚’割り当ã¦ã¦ã‚³ãƒ³ãƒ”ュートã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ã“れらã®å‰²å½“ã¦ã¯ã€ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®å®Ÿè¡Œæ™‚é–“ã«æ¯”例ã—ã¦å¤§ãããªã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚

実行時間ã¾ãŸã¯æ“作領域ã®å¢ƒç•Œã«é–¢ã™ã‚‹BigIntegerã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã€é¸æŠžã—ãŸå¤§ãã•ã‚’è¶…ãˆã‚‹BigInteger値をスクリーニングã§ãã¾ã™ã€‚

実装上ã®ãƒŽãƒ¼ãƒˆ:
リファレンス実装ã§ã¯ã€çµæžœãŒ -2Integer.MAX_VALUE (除外)ã‹ã‚‰+2Integer.MAX_VALUE (除外)ã¾ã§ã®ç¯„囲外ã§ã‚ã‚‹å ´åˆã€BigIntegerã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¨æ“作ã¯ArithmeticExceptionをスローã—ã¾ã™ã€‚
Java言語仕様をå‚ç…§ã—ã¦ãã ã•ã„:
4.2.2 整数演算
å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
1.1
関連項目:
  • フィールドã®ã‚µãƒžãƒªãƒ¼

    フィールド
    修飾å­ã¨åž‹
    フィールド
    説明
    static final BigInteger
    BigInteger定数1ã§ã™ã€‚
    static final BigInteger
    BigInteger定数10ã§ã™ã€‚
    static final BigInteger
    BigInteger定数2。
    static final BigInteger
    BigInteger定数0ã§ã™ã€‚
  • コンストラクタã®ã‚µãƒžãƒªãƒ¼

    コンストラクタ
    コンストラクタ
    説明
    BigInteger(byte[] val)
    BigIntegerã®2ã®è£œæ•°2進表ç¾ã‚’å«ã‚€ãƒã‚¤ãƒˆé…列をBigIntegerã«å¤‰æ›ã—ã¾ã™ã€‚
    BigInteger(byte[] val, int off, int len)
    BigIntegerã®2ã¤ã®è£œå®Œãƒã‚¤ãƒŠãƒªè¡¨ç¾ã‚’å«ã‚€ãƒã‚¤ãƒˆãƒ»ã‚µãƒ–é…列をBigIntegerã«å¤‰æ›ã—ã¾ã™ã€‚
    BigInteger(int signum, byte[] magnitude)
    BigIntegerã®ç¬¦å·çµ¶å¯¾å€¤è¡¨ç¾ã‚’BigIntegerã«å¤‰æ›ã—ã¾ã™ã€‚
    BigInteger(int signum, byte[] magnitude, int off, int len)
    BigIntegerã®ç¬¦å·çµ¶å¯¾å€¤è¡¨ç¾ã‚’BigIntegerã«å¤‰æ›ã—ã¾ã™ã€‚
    BigInteger(int bitLength, int certainty, Random rnd)
    ランダムã«ç”Ÿæˆã•れãŸ(ãŠãらãç´ æ•°ã§ã‚ã‚‹)æ­£ã®BigIntegerã‚’ã€æŒ‡å®šã—ãŸãƒ“ãƒƒãƒˆé•·ã§æ§‹ç¯‰ã—ã¾ã™ã€‚
    BigInteger(int numBits, Random rnd)
    0 - (2numBits - 1)ã®ç¯„囲ã«ä¸€æ§˜ã«åˆ†æ•£ã•れã¦ã„ã‚‹ã€ãƒ©ãƒ³ãƒ€ãƒ ã«ç”Ÿæˆã•れãŸBigIntegerを構築ã—ã¾ã™ã€‚
    BigIntegerã®10進String表ç¾ã‚’BigIntegerã«å¤‰æ›ã—ã¾ã™ã€‚
    BigInteger(String val, int radix)
    指定ã•れãŸåŸºæ•°å†…ã®BigIntegerã®String表ç¾ã‚’BigIntegerã«å¤‰æ›ã—ã¾ã™ã€‚
  • メソッドã®ã‚µãƒžãƒªãƒ¼

    修飾å­ã¨åž‹
    メソッド
    説明
    abs()
    値ãŒã“ã®BigIntegerã®çµ¶å¯¾å€¤ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    値ãŒ(this+val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    値ãŒ(this & val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    値ãŒ(this & ~val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    int
    ã“ã®BigIntegerã®2ã®è£œæ•°è¡¨ç¾å†…ã®ã€ç¬¦å·ãƒ“ットã¨ç•°ãªã‚‹ãƒ“ãƒƒãƒˆã®æ•°ã‚’è¿”ã—ã¾ã™ã€‚
    int
    ã“ã®BigIntegerã®æœ€å°ã®2ã®è£œæ•°è¡¨ç¾å†…ã®ãƒ“ット数を返ã—ã¾ã™ã€‚ãŸã ã—ã€ç¬¦å·ãƒ“ットを除ãã¾ã™ã€‚
    byte
    ã“ã®BigIntegerã‚’byteã«å¤‰æ›ã—ã€å¤±ã‚ã‚ŒãŸæƒ…å ±ãŒãªã„ã‹ã©ã†ã‹ã‚’確èªã—ã¾ã™ã€‚
    clearBit(int n)
    値ãŒã“ã®BigIntegerã«ç­‰ã—ã„BigIntegerã‚’ã€æŒ‡å®šã•れãŸãƒ“ットをクリアã—ã¦è¿”ã—ã¾ã™ã€‚
    int
    ã“ã®BigIntegerを指定ã•れãŸBigIntegerã¨æ¯”較ã—ã¾ã™ã€‚
    値ãŒ(this /val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    (this /val)ãã—ã¦(this % val)ã¨ç¶šãã€2ã¤ã®BigIntegerã®é…列を返ã—ã¾ã™ã€‚
    double
    ã“ã®BigIntegerã‚’doubleã«å¤‰æ›ã—ã¾ã™ã€‚
    boolean
    ã“ã®BigIntegerã¨æŒ‡å®šã•れãŸObjectãŒç­‰ã—ã„ã‹ã©ã†ã‹ã‚’比較ã—ã¾ã™ã€‚
    flipBit(int n)
    値ãŒã“ã®BigIntegerã«ç­‰ã—ã„BigIntegerã‚’ã€æŒ‡å®šã•れãŸãƒ“ットをå転ã•ã›ã¦è¿”ã—ã¾ã™ã€‚
    float
    ã“ã®BigIntegerã‚’floatã«å¤‰æ›ã—ã¾ã™ã€‚
    値ãŒabs(this)ã¨abs(val)ã®æœ€å¤§å…¬ç´„æ•°ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    int
    ã“ã®BigIntegerã®ã‚‚ã£ã¨ã‚‚å³å´(1番低ã„ä½)ã®1ビットã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹(ã‚‚ã£ã¨ã‚‚å³å´ã®1ビットã®å³æ–¹å‘ã®0ãƒ“ãƒƒãƒˆã®æ•°)ã‚’è¿”ã—ã¾ã™ã€‚
    int
    ã“ã®BigIntegerã®ãƒãƒƒã‚·ãƒ¥ãƒ»ã‚³ãƒ¼ãƒ‰ã‚’è¿”ã—ã¾ã™ã€‚
    int
    ã“ã®BigIntegerã‚’intã«å¤‰æ›ã—ã¾ã™ã€‚
    int
    ã“ã®BigIntegerã‚’intã«å¤‰æ›ã—ã€å¤±ã‚ã‚ŒãŸæƒ…å ±ãŒãªã„ã‹ã©ã†ã‹ã‚’確èªã—ã¾ã™ã€‚
    boolean
    isProbablePrime(int certainty)
    ã“ã®BigIntegerãŒç´ æ•°ã§ã‚ã‚‹å¯èƒ½æ€§ãŒé«˜ã„å ´åˆã¯trueã€å¿…ãšåˆæˆæ•°ã§ã‚ã‚‹å ´åˆã¯falseã‚’è¿”ã—ã¾ã™ã€‚
    long
    ã“ã®BigIntegerã‚’longã«å¤‰æ›ã—ã¾ã™ã€‚
    long
    ã“ã®BigIntegerã‚’longã«å¤‰æ›ã—ã€å¤±ã‚ã‚ŒãŸæƒ…å ±ãŒãªã„ã‹ã©ã†ã‹ã‚’確èªã—ã¾ã™ã€‚
    ã“ã®BigIntegerã¨valã®æœ€å¤§å€¤ã‚’è¿”ã—ã¾ã™ã€‚
    ã“ã®BigIntegerã¨valã®æœ€å°å€¤ã‚’è¿”ã—ã¾ã™ã€‚
    値ãŒ(this mod m)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    値ãŒ(this-1 mod m)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    値ãŒ(thisexponent mod m)ã®BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    値ãŒ(this * val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    値ãŒ(-this)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    ã“ã®BigIntegerより大ãã„æœ€åˆã®æ•´æ•°(ãŠãらãç´ æ•°)ã‚’è¿”ã—ã¾ã™ã€‚
    not()
    値ãŒ(~this)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    値ãŒ(this|val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    値ãŒ(this * val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    pow(int exponent)
    値ãŒ(thisexponent)ã®BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    static BigInteger
    probablePrime(int bitLength, Random rnd)
    指定ã•れãŸãƒ“ãƒƒãƒˆé•·ã§æ­£ã®BigInteger (ãŠãらãç´ æ•°)ã‚’è¿”ã—ã¾ã™ã€‚
    値ãŒ(this % val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    setBit(int n)
    値ãŒã“ã®BigIntegerã«ç­‰ã—ã„BigIntegerã‚’ã€æŒ‡å®šã•れãŸãƒ“ットを設定ã—ã¦è¿”ã—ã¾ã™ã€‚
    shiftLeft(int n)
    値ãŒ(this << n)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    shiftRight(int n)
    値ãŒ(this>> n)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    short
    ã“ã®BigIntegerã‚’shortã«å¤‰æ›ã—ã¦ã€å¤±ã‚ã‚ŒãŸæƒ…å ±ãŒãªã„ã‹ã©ã†ã‹ã‚’確èªã—ã¾ã™ã€‚
    int
    ã“ã®BigIntegerã®ç¬¦å·è¦ç´ ã‚’è¿”ã—ã¾ã™ã€‚
    ã“ã®BigIntegerã®æ•´æ•°ã®å¹³æ–¹æ ¹ã‚’è¿”ã—ã¾ã™ã€‚
    thisã®æ•´æ•°å¹³æ–¹æ ¹sã¨ãã®æ®‹ã‚Šthis - s*sã‚’å«ã‚€2ã¤ã®BigIntegersã®é…列をãれãžã‚Œè¿”ã—ã¾ã™ã€‚
    値ãŒ(this - val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    boolean
    testBit(int n)
    指定ã•れãŸãƒ“ットãŒè¨­å®šã•れã¦ã„ã‚‹å ´åˆã«ã ã‘trueã‚’è¿”ã—ã¾ã™ã€‚
    byte[]
    ã“ã®BigIntegerã®2ã®è£œæ•°è¡¨ç¾ã‚’å«ã‚€ãƒã‚¤ãƒˆé…列を返ã—ã¾ã™ã€‚
    ã“ã®BigIntegerã®10進String表ç¾ã‚’è¿”ã—ã¾ã™ã€‚
    toString(int radix)
    指定ã•れãŸåŸºæ•°å†…ã®ã“ã®BigIntegerã®String表ç¾ã‚’è¿”ã—ã¾ã™ã€‚
    static BigInteger
    valueOf(long val)
    å€¤ãŒæŒ‡å®šã•れãŸlongã®å€¤ã¨ç­‰ã—ã„BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
    値ãŒ(this^val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚

    クラスjava.lang.Numberã§å®£è¨€ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰

    byteValue, shortValue

    クラスjava.lang.Objectã§å®£è¨€ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • フィールド詳細

    • ZERO

      public static final BigInteger ZERO
      BigInteger定数0ã§ã™ã€‚
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.2
    • ONE

      public static final BigInteger ONE
      BigInteger定数1ã§ã™ã€‚
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.2
    • TWO

      public static final BigInteger TWO
      BigInteger定数2。
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      9
    • TEN

      public static final BigInteger TEN
      BigInteger定数10ã§ã™ã€‚
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.5
  • コンストラクタã®è©³ç´°

    • BigInteger

      public BigInteger(byte[] val, int off, int len)
      BigIntegerã®2ã¤ã®è£œå®Œãƒã‚¤ãƒŠãƒªè¡¨ç¾ã‚’å«ã‚€ãƒã‚¤ãƒˆãƒ»ã‚µãƒ–é…列をBigIntegerã«å¤‰æ›ã—ã¾ã™ã€‚ サブé…列ã¯ã€é…列ã¸ã®ã‚ªãƒ•セットã¨é•·ã•ã«ã‚ˆã£ã¦æŒ‡å®šã•れã¾ã™ã€‚ サブアレイã¯big-endianãƒã‚¤ãƒˆãƒ»ã‚ªãƒ¼ãƒ€ãƒ¼ã§ã‚ã‚‹ã¨ä»®å®šã•れる: 最上ä½ãƒã‚¤ãƒˆã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹offã®è¦ç´ ã§ã™ã€‚ valé…列ã¯ã€ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãƒ»ã‚³ãƒ¼ãƒ«ä¸­ã¯å¤‰æ›´ã•れãªã„ã¨ã¿ãªã•れã¾ã™ã€‚ é…列valã®é•·ã•ãŒã‚¼ãƒ­ã§ãªãã€offãŒè² ã€lenãŒè² ã€ã¾ãŸã¯off+lenãŒvalã®é•·ã•より大ãã„å ´åˆã€IndexOutOfBoundsExceptionãŒã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã€‚
      パラメータ:
      val - BigIntegerã®ãƒ“ッグ・エンディアン2ã®è£œå®Œãƒã‚¤ãƒŠãƒªè¡¨ç¾ã§ã‚るサブé…列をå«ã‚€ãƒã‚¤ãƒˆé…列。
      off - ãƒã‚¤ãƒŠãƒªè¡¨ç¾ã®é–‹å§‹ã‚ªãƒ•セット。
      len - 使用ã™ã‚‹ãƒã‚¤ãƒˆæ•°ã€‚
      スロー:
      NumberFormatException - valã®é•·ã•ãŒ0ãƒã‚¤ãƒˆã®å ´åˆã€‚
      IndexOutOfBoundsException - 指定ã•れãŸé…列ã®ã‚ªãƒ•セットã¨é•·ã•ã«ã‚ˆã£ã¦ã€ãƒã‚¤ãƒˆé…列ã¸ã®ç´¢å¼•ãŒè² ã¾ãŸã¯é…列ã®é•·ã•以上ã«ãªã‚‹å ´åˆã€‚
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      9
    • BigInteger

      public BigInteger(byte[] val)
      BigIntegerã®2ã®è£œæ•°2進表ç¾ã‚’å«ã‚€ãƒã‚¤ãƒˆé…列をBigIntegerã«å¤‰æ›ã—ã¾ã™ã€‚ 入力é…列ã¯ãƒ“ッグ・エンディアンã®ãƒã‚¤ãƒˆé †åº(最上ä½ãƒã‚¤ãƒˆãŒã€Œ0ã€ç•ªç›®ã®è¦ç´ )ã¨è¦‹ãªã•れã¾ã™ã€‚ valé…列ã¯ã€ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãƒ»ã‚³ãƒ¼ãƒ«ä¸­ã¯å¤‰æ›´ã•れãªã„ã¨ã¿ãªã•れã¾ã™ã€‚
      パラメータ:
      val - BigIntegerã®ãƒ“ッグ・エンディアン2ã®è£œå®Œãƒã‚¤ãƒŠãƒªè¡¨ç¾ã€‚
      スロー:
      NumberFormatException - valã®é•·ã•ãŒ0ãƒã‚¤ãƒˆã®å ´åˆã€‚
    • BigInteger

      public BigInteger(int signum, byte[] magnitude, int off, int len)
      BigIntegerã®ç¬¦å·çµ¶å¯¾å€¤è¡¨ç¾ã‚’BigIntegerã«å¤‰æ›ã—ã¾ã™ã€‚ 符å·ã¯æ•´æ•°ã®ç¬¦å·å€¤(負㯠-1ã€ã‚¼ãƒ­ã¯0ã€æ­£ã¯1)ã¨ã—ã¦è¡¨ã•れã¾ã™ã€‚ 大ãã•ã¯ã€big-endianãƒã‚¤ãƒˆãƒ»ã‚ªãƒ¼ãƒ€ãƒ¼ã®ãƒã‚¤ãƒˆé…列ã®ã‚µãƒ–é…列ã§ã™: 最上ä½ãƒã‚¤ãƒˆã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹offã®è¦ç´ ã§ã™ã€‚ é•·ã•lenã®ã‚¼ãƒ­å€¤ã¯è¨±å¯ã•れã€ã‚·ã‚°ãƒŠãƒ ãŒ -1ã€0ã¾ãŸã¯1ã®ã„ãšã‚Œã§ã‚ã£ã¦ã‚‚ã€BigInteger値ã¯0ã«ãªã‚Šã¾ã™ã€‚ magnitudeé…列ã¯ã€ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãƒ»ã‚³ãƒ¼ãƒ«ä¸­ã¯å¤‰æ›´ã•れãªã„ã¨ã¿ãªã•れã¾ã™ã€‚ é…列magnitudeã®é•·ã•ãŒã‚¼ãƒ­ã§ãªãã€offãŒè² ã€lenãŒè² ã€ã¾ãŸã¯off+lenãŒmagnitudeã®é•·ã•より大ãã„å ´åˆã€IndexOutOfBoundsExceptionãŒã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã€‚
      パラメータ:
      signum - æ•°å­—ã®ç¬¦å·(負㯠-1ã€ã‚¼ãƒ­ã¯0ã€æ­£ã¯1)。
      magnitude - æ•°å­—ã®çµ¶å¯¾å€¤ã®ãƒ“ッグエンディアン・ãƒã‚¤ãƒŠãƒªè¡¨ç¾ã€‚
      off - ãƒã‚¤ãƒŠãƒªè¡¨ç¾ã®é–‹å§‹ã‚ªãƒ•セット。
      len - 使用ã™ã‚‹ãƒã‚¤ãƒˆæ•°ã€‚
      スロー:
      NumberFormatException - signumãŒ3ã¤ã®æœ‰åйãªå€¤(-1ã€0ã€1)ã®ã©ã‚Œã§ã‚‚ãªã„ã‹ã€signumãŒ0ã§ã€magnitudeã«1ã¤ä»¥ä¸Šã®0以外ã®ãƒã‚¤ãƒˆãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã€‚
      IndexOutOfBoundsException - 指定ã•れãŸé…列ã®ã‚ªãƒ•セットã¨é•·ã•ã«ã‚ˆã£ã¦ã€ãƒã‚¤ãƒˆé…列ã¸ã®ç´¢å¼•ãŒè² ã¾ãŸã¯é…列ã®é•·ã•以上ã«ãªã‚‹å ´åˆã€‚
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      9
    • BigInteger

      public BigInteger(int signum, byte[] magnitude)
      BigIntegerã®ç¬¦å·çµ¶å¯¾å€¤è¡¨ç¾ã‚’BigIntegerã«å¤‰æ›ã—ã¾ã™ã€‚ 符å·ã¯æ•´æ•°ã®ç¬¦å·å€¤(負㯠-1ã€ã‚¼ãƒ­ã¯0ã€æ­£ã¯1)ã¨ã—ã¦è¡¨ã•れã¾ã™ã€‚ 大ãã•ã¯big-endianãƒã‚¤ãƒˆãƒ»ã‚ªãƒ¼ãƒ€ãƒ¼ã®ãƒã‚¤ãƒˆé…列ã§ã™: 最もé‡è¦ãªãƒã‚¤ãƒˆã¯ã‚¼ãƒ­è¦ç´ ã§ã™ã€‚ é•·ã•ãŒ0ã®çµ¶å¯¾å€¤é…列ã¯è¨±å®¹ã•れã€ç¬¦å·ãŒ -1ã€0ã€ã¾ãŸã¯1ã®ã©ã‚Œã§ã‚ã‚‹ã‹ã«ã‹ã‹ã‚りãªãBigInteger値0ã¨ãªã‚Šã¾ã™ã€‚ magnitudeé…列ã¯ã€ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãƒ»ã‚³ãƒ¼ãƒ«ä¸­ã¯å¤‰æ›´ã•れãªã„ã¨ã¿ãªã•れã¾ã™ã€‚
      パラメータ:
      signum - æ•°å­—ã®ç¬¦å·(負㯠-1ã€ã‚¼ãƒ­ã¯0ã€æ­£ã¯1)。
      magnitude - æ•°å­—ã®çµ¶å¯¾å€¤ã®ãƒ“ッグエンディアン・ãƒã‚¤ãƒŠãƒªè¡¨ç¾ã€‚
      スロー:
      NumberFormatException - signumãŒ3ã¤ã®æœ‰åйãªå€¤(-1ã€0ã€1)ã®ã©ã‚Œã§ã‚‚ãªã„ã‹ã€signumãŒ0ã§ã€magnitudeã«1ã¤ä»¥ä¸Šã®0以外ã®ãƒã‚¤ãƒˆãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã€‚
    • BigInteger

      public BigInteger(String val, int radix)
      指定ã•れãŸåŸºæ•°å†…ã®BigIntegerã®String表ç¾ã‚’BigIntegerã«å¤‰æ›ã—ã¾ã™ã€‚ String表ç¾ã¯ã€æŒ‡å®šã•れãŸåŸºæ•°å†…ã®ä»»æ„ã®ãƒžã‚¤ãƒŠã‚¹ç¬¦å·ã¾ãŸã¯ãƒ—ラス記å·ã¨ã€ãれã«ç¶šã1ã¤ä»¥ä¸Šã®æ•°å­—ã®åˆ—ã§æ§‹æˆã•れã¾ã™ã€‚ 文字ã‹ã‚‰æ•°å­—ã¸ã®ãƒžãƒƒãƒ”ングã¯ã€Character.digitã«ã‚ˆã£ã¦æä¾›ã•れã¾ã™ã€‚ Stringã«ã¯ã€ä¸é©åˆ‡ãªæ–‡å­—(空白ãªã©)ã‚’å«ã‚ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
      パラメータ:
      val - BigIntegerã®String表ç¾ã€‚
      radix - valã®è§£é‡ˆã§ä½¿ç”¨ã•れる基数。
      スロー:
      NumberFormatException - valãŒã€æŒ‡å®šã—ãŸåŸºæ•°å†…ã®BigIntegerã®æœ‰åйãªè¡¨ç¾ã§ã¯ãªã„ã‹ã€radixãŒCharacter.MIN_RADIXã‹ã‚‰Character.MAX_RADIXã®ç¯„囲外ã«ã‚ã‚‹å ´åˆã€‚
    • BigInteger

      public BigInteger(String val)
      BigIntegerã®10進String表ç¾ã‚’BigIntegerã«å¤‰æ›ã—ã¾ã™ã€‚ 文字列表ç¾ã¯ã€ã‚ªãƒ—ションã®ãƒžã‚¤ãƒŠã‚¹è¨˜å·ã¾ãŸã¯ãƒ—ラス記å·ã¨ãれã«ç¶šã1æ¡ä»¥ä¸Šã®å°æ•°ã§æ§‹æˆã•れã¾ã™ã€‚ 文字ã‹ã‚‰æ•°å­—ã¸ã®ãƒžãƒƒãƒ”ングã¯ã€Character.digitã«ã‚ˆã£ã¦æä¾›ã•れã¾ã™ã€‚ Stringã«ã¯ã€ä¸é©åˆ‡ãªæ–‡å­—(空白ãªã©)ã‚’å«ã‚ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
      パラメータ:
      val - BigIntegerã®10進数ã®String表ç¾ã€‚
      スロー:
      NumberFormatException - valã¯BigIntegerã®è¡¨ç¾ã¨ã—ã¦ã¯ç„¡åйã§ã‚る。
    • BigInteger

      public BigInteger(int numBits, Random rnd)
      0 - (2numBits - 1)ã®ç¯„囲ã«ä¸€æ§˜ã«åˆ†æ•£ã•れã¦ã„ã‚‹ã€ãƒ©ãƒ³ãƒ€ãƒ ã«ç”Ÿæˆã•れãŸBigIntegerを構築ã—ã¾ã™ã€‚ 分散ã®ä¸€æ§˜ã•ã¯ã€rndã®ãƒ©ãƒ³ãƒ€ãƒ ãƒ»ãƒ“ットã®ã‚½ãƒ¼ã‚¹ã«èª¤ã‚ŠãŒãªã„ã“ã¨ã‚’剿ã¨ã—ã¾ã™ã€‚ ã“ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯ã€å¸¸ã«è² ã§ãªã„BigIntegerを構築ã—ã¾ã™ã€‚
      パラメータ:
      numBits - æ–°ã—ã„BigIntegerã®æœ€å¤§ãƒ“ット長。
      rnd - æ–°ã—ã„BigIntegerã®è¨ˆç®—ã§ä½¿ç”¨ã•れるランダム・ビットã®ã‚½ãƒ¼ã‚¹ã€‚
      スロー:
      IllegalArgumentException - numBitsãŒè² ã®å ´åˆã€‚
      関連項目:
    • BigInteger

      public BigInteger(int bitLength, int certainty, Random rnd)
      ランダムã«ç”Ÿæˆã•れãŸ(ãŠãらãç´ æ•°ã§ã‚ã‚‹)æ­£ã®BigIntegerã‚’ã€æŒ‡å®šã—ãŸãƒ“ãƒƒãƒˆé•·ã§æ§‹ç¯‰ã—ã¾ã™ã€‚
      APIã®ãƒŽãƒ¼ãƒˆ:
      確実性を指定ã™ã‚‹å¿…è¦ãŒãªã„å ´åˆã¯ã€ã“ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã§ã¯ãªãprobablePrimeメソッドを使用ã™ã‚‹ã“ã¨ã‚’ãŠè–¦ã‚ã—ã¾ã™ã€‚
      パラメータ:
      bitLength - è¿”ã•れるBigIntegerã®ãƒ“ット長。
      certainty - 呼出ã—å´ãŒè¨±å®¹ã§ãã‚‹ä¸ç¢ºå®Ÿæ€§ã®ç¨‹åº¦ã€‚ æ–°ã—ã„BigIntegerãŒç´ æ•°ã§ã‚る確率ã¯ã€(1 - 1/2certainty)より大ãã„。 ã“ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®å®Ÿè¡Œæ™‚é–“ã¯ã“ã®ãƒ‘ラメータã®å€¤ã«æ¯”例ã™ã‚‹
      rnd - 素数度をテストã™ã‚‹å€™è£œã®é¸æŠžã§ä½¿ç”¨ã•れるランダム・ビットã®ã‚½ãƒ¼ã‚¹ã€‚
      スロー:
      ArithmeticException - bitLength < 2ã§ã‚ã‚‹ã‹ã€bitLengthãŒå¤§ãã™ãŽã‚‹å ´åˆã€‚
      関連項目:
  • メソッドã®è©³ç´°

    • probablePrime

      public static BigInteger probablePrime(int bitLength, Random rnd)
      指定ã•れãŸãƒ“ãƒƒãƒˆé•·ã§æ­£ã®BigInteger (ãŠãらãç´ æ•°)ã‚’è¿”ã—ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‹ã‚‰è¿”ã•れるBigIntegerãŒåˆæˆæ•°ã§ã‚る確率ã¯2-100ã‚’è¶…ãˆã¾ã›ã‚“。
      パラメータ:
      bitLength - è¿”ã•れるBigIntegerã®ãƒ“ット長。
      rnd - 素数度をテストã™ã‚‹å€™è£œã®é¸æŠžã§ä½¿ç”¨ã•れるランダム・ビットã®ã‚½ãƒ¼ã‚¹ã€‚
      戻り値:
      bitLengthビットã®BigInteger (ãŠãらãç´ æ•°)
      スロー:
      ArithmeticException - bitLength < 2ã§ã‚ã‚‹ã‹ã€bitLengthãŒå¤§ãã™ãŽã‚‹å ´åˆã€‚
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.4
      関連項目:
    • nextProbablePrime

      public BigInteger nextProbablePrime()
      ã“ã®BigIntegerより大ãã„æœ€åˆã®æ•´æ•°(ãŠãらãç´ æ•°)ã‚’è¿”ã—ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®è¿”ã™æ•°ãŒåˆæˆæ•°ã§ã‚る確率ã¯2-100ã‚’è¶…ãˆã¾ã›ã‚“。 ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯æ¤œç´¢æ™‚ã«ç´ æ•°ã‚’スキップã—ã¾ã›ã‚“。pã‚’è¿”ã™å ´åˆã€this < q < pãŒæˆã‚Šç«‹ã¤ã‚ˆã†ãªç´ æ•°qã¯ã‚りã¾ã›ã‚“。
      実装上ã®ãƒŽãƒ¼ãƒˆ:
      基礎ã¨ãªã‚‹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®æ€§è³ªã«ã‚ˆã‚Šã€thisã®ã‚µã‚¤ã‚ºã«å¿œã˜ã¦ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯å¤§é‡ã®ãƒ¡ãƒ¢ãƒªãƒ¼ã‚’消費ã—ãŸã‚Šã€ä½¿ç”¨å¯èƒ½ãªãƒ’ープ領域を最大é™ã«æ¶ˆè²»ã—ãŸã‚Šã€é•·æ™‚間実行ã—ãŸã‚Šã§ãã¾ã™ã€‚
      戻り値:
      ã“ã®BigIntegerより大ãã„æœ€åˆã®æ•´æ•°(ãŠãらãç´ æ•°)。
      スロー:
      ArithmeticException - this < 0ã§ã‚ã‚‹ã‹ã€thisãŒå¤§ãã™ãŽã‚‹å ´åˆã€‚
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.5
    • valueOf

      public static BigInteger valueOf(long val)
      å€¤ãŒæŒ‡å®šã•れãŸlongã®å€¤ã¨ç­‰ã—ã„BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
      APIã®ãƒŽãƒ¼ãƒˆ:
      ã“ã®é™çš„ファクトリ・メソッドã¯ã€é »ç¹ã«ä½¿ç”¨ã•れるBigIntegersã‚’å†åˆ©ç”¨ã§ãã‚‹ãŸã‚ã€(long)コンストラクタよりも優先ã—ã¦æä¾›ã•れã¾ã™ã€‚
      パラメータ:
      val - è¿”ã•れるBigIntegerã®å€¤ã€‚
      戻り値:
      指定値を使ã£ãŸBigInteger
    • add

      public BigInteger add(BigInteger val)
      値ãŒ(this+val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
      パラメータ:
      val - ã“ã®BigIntegerã«åŠ ç®—ã™ã‚‹å€¤ã€‚
      戻り値:
      this + val
    • subtract

      public BigInteger subtract(BigInteger val)
      値ãŒ(this - val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
      パラメータ:
      val - ã“ã®BigIntegerã‹ã‚‰æ¸›ç®—ã™ã‚‹å€¤ã€‚
      戻り値:
      this - val
    • multiply

      public BigInteger multiply(BigInteger val)
      値ãŒ(this * val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
      実装上ã®ãƒŽãƒ¼ãƒˆ:
      val == thisã®å ´åˆã€å®Ÿè£…ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ çš„パフォーマンスãŒå‘上ã™ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚
      パラメータ:
      val - ã“ã®BigIntegerã§ä¹—ç®—ã™ã‚‹å€¤ã€‚
      戻り値:
      this * val
    • parallelMultiply

      public BigInteger parallelMultiply(BigInteger val)
      値ãŒ(this * val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚ thisã¨valã®ä¸¡æ–¹ãŒå¤§ãã„å ´åˆ(é€šå¸¸ã¯æ•°åƒãƒ“ット)ã€ä¸¦åˆ—ä¹—ç®—ãŒä½¿ç”¨ã•れã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€multiply(java.math.BigInteger)ã¨ã¾ã£ãŸãåŒã˜æ•°å­¦çµæžœã‚’è¿”ã—ã¾ã™ã€‚
      実装上ã®ãƒŽãƒ¼ãƒˆ:
      ã“ã®å®Ÿè£…ã§ã¯ã€val == this.ã¨multiply(java.math.BigInteger)を比較ã™ã‚‹ã¨ã€ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®ãƒ‘フォーマンスãŒå‘上ã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚実装ã®ãƒ‘ラレル乗算アルゴリズムã§ã¯é€šå¸¸ã€çµæžœã‚’より速ãコンピュートã™ã‚‹ãŸã‚ã«ã‚ˆã‚Šå¤šãã®CPUリソースãŒä½¿ç”¨ã•れã€ãƒ¡ãƒ¢ãƒªãƒ¼æ¶ˆè²»ãŒã‚ãšã‹ã«å¢—加ã™ã‚‹å ´åˆãŒã‚りã¾ã™ã€‚
      パラメータ:
      val - ã“ã®BigIntegerã§ä¹—ç®—ã™ã‚‹å€¤ã€‚
      戻り値:
      this * val
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      19
      関連項目:
    • divide

      public BigInteger divide(BigInteger val)
      値ãŒ(this /val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
      パラメータ:
      val - ã“ã®BigIntegerを除算ã™ã‚‹å€¤ã€‚
      戻り値:
      this / val
      スロー:
      ArithmeticException - valãŒ0ã®å ´åˆã€‚
    • divideAndRemainder

      public BigInteger[] divideAndRemainder(BigInteger val)
      (this /val)ãã—ã¦(this % val)ã¨ç¶šãã€2ã¤ã®BigIntegerã®é…列を返ã—ã¾ã™ã€‚
      パラメータ:
      val - ã“ã®BigIntegerを除算ã™ã‚‹å€¤ã€ãŠã‚ˆã³è¨ˆç®—ã•れãŸå‰°ä½™ã€‚
      戻り値:
      2ã¤ã®BigIntegerã®é…列。商(this /val)ãŒæœ€åˆã®è¦ç´ ã§ã€å‰°ä½™(this % val)ãŒæœ€å¾Œã®è¦ç´ ã€‚
      スロー:
      ArithmeticException - valãŒ0ã®å ´åˆã€‚
    • remainder

      public BigInteger remainder(BigInteger val)
      値ãŒ(this % val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
      パラメータ:
      val - ã“ã®BigIntegerを除算ã™ã‚‹å€¤ã€ãŠã‚ˆã³è¨ˆç®—ã•れãŸå‰°ä½™ã€‚
      戻り値:
      this % val
      スロー:
      ArithmeticException - valãŒ0ã®å ´åˆã€‚
    • pow

      public BigInteger pow(int exponent)
      値ãŒ(thisexponent)ã®BigIntegerã‚’è¿”ã—ã¾ã™ã€‚ exponentã¯BigIntegerã§ã¯ãªãæ•´æ•°ã§ã™ã€‚
      パラメータ:
      exponent - ã“ã®BigIntegerを累乗ã™ã‚‹æŒ‡æ•°ã€‚
      戻り値:
      thisexponent
      スロー:
      ArithmeticException - exponentãŒè² ã®å ´åˆã€‚ (éžæ•´æ•°å€¤ã‚’生æˆã™ã‚‹æ¼”ç®—ãŒç”Ÿã˜ã‚‹ã€‚)
    • sqrt

      public BigInteger sqrt()
      ã“ã®BigIntegerã®æ•´æ•°ã®å¹³æ–¹æ ¹ã‚’è¿”ã—ã¾ã™ã€‚ 対応ã™ã‚‹æ•°å­¦çš„æ•´æ•°nã®æ•´æ•°å¹³æ–¹æ ¹ã¯ã€s*s <= nã®ã‚ˆã†ãªæœ€å¤§ã®æ•°å­¦çš„æ•´æ•°sã§ã™ã€‚ ã“れã¯ã€floor(sqrt(n))ã®å€¤ã¨ç­‰ã—ããªã‚Šã¾ã™ã€‚ã“ã“ã§ã€sqrt(n)ã¯ã€å®Ÿæ•°ã¨ã—ã¦æ‰±ã‚れるnã®å®Ÿå¹³æ–¹æ ¹ã‚’示ã—ã¾ã™ã€‚ 整数平方根ã¯ã€å¾Œè€…ãŒæ•´æ•°å€¤ã¨ã—ã¦è¡¨ç¾ã§ããªã„å ´åˆã€å®Ÿå¹³æ–¹æ ¹ã‚ˆã‚Šå°ã•ããªã‚Šã¾ã™ã€‚
      戻り値:
      thisã®æ•´æ•°å¹³æ–¹æ ¹
      スロー:
      ArithmeticException - thisãŒè² ã®å ´åˆã€‚ (è² ã®æ•´æ•°valã®å¹³æ–¹æ ¹ã¯(i * sqrt(-val))ã§ã‚りã€ã“ã“ã§ã€iã¯ã€Œè™šæ•°å˜ä½ã€ã§ã‚りã€sqrt(-1)ã¨ç­‰ã—ã„。)
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      9
    • sqrtAndRemainder

      public BigInteger[] sqrtAndRemainder()
      thisã®æ•´æ•°å¹³æ–¹æ ¹sã¨ãã®æ®‹ã‚Šthis - s*sã‚’å«ã‚€2ã¤ã®BigIntegersã®é…列をãれãžã‚Œè¿”ã—ã¾ã™ã€‚
      戻り値:
      オフセットãŒ0ã®æ•´æ•°å¹³æ–¹æ ¹ã€ã‚ªãƒ•セットãŒ1ã®ä½™ã‚Šã®2ã¤ã®BigIntegerã®é…列
      スロー:
      ArithmeticException - thisãŒè² ã®å ´åˆã€‚ (è² ã®æ•´æ•°valã®å¹³æ–¹æ ¹ã¯(i * sqrt(-val))ã§ã‚りã€ã“ã“ã§ã€iã¯ã€Œè™šæ•°å˜ä½ã€ã§ã‚りã€sqrt(-1)ã¨ç­‰ã—ã„。)
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      9
      関連項目:
    • gcd

      public BigInteger gcd(BigInteger val)
      値ãŒabs(this)ã¨abs(val)ã®æœ€å¤§å…¬ç´„æ•°ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚ this == 0 && val == 0ã®å ´åˆã¯0ã‚’è¿”ã—ã¾ã™ã€‚
      パラメータ:
      val - GCDã®è¨ˆç®—ã«ä½¿ç”¨ã™ã‚‹å€¤ã€‚
      戻り値:
      GCD(abs(this), abs(val))
    • abs

      public BigInteger abs()
      値ãŒã“ã®BigIntegerã®çµ¶å¯¾å€¤ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
      戻り値:
      abs(this)
    • negate

      public BigInteger negate()
      値ãŒ(-this)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
      戻り値:
      -this
    • signum

      public int signum()
      ã“ã®BigIntegerã®ç¬¦å·è¦ç´ ã‚’è¿”ã—ã¾ã™ã€‚
      戻り値:
      ã“ã®BigIntegerãŒè² ã®å ´åˆã¯ -1ã€ã‚¼ãƒ­ã®å ´åˆã¯0ã€æ­£ã®å ´åˆã¯1
    • mod

      public BigInteger mod(BigInteger m)
      値ãŒ(this mod m)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€å¸¸ã«è² ã§ãªã„ BigIntegerã‚’è¿”ã™remainderã¨ã¯ç•°ãªã‚Šã¾ã™ã€‚
      パラメータ:
      m - モジュラス。
      戻り値:
      this mod m
      スロー:
      ArithmeticException - m ≤ 0
      関連項目:
    • modPow

      public BigInteger modPow(BigInteger exponent, BigInteger m)
      値ãŒ(thisexponent mod m)ã®BigIntegerã‚’è¿”ã—ã¾ã™ã€‚ (powã¨é•ã£ã¦ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯è² ã®æŒ‡æ•°ã‚’許容ã™ã‚‹ã€‚)
      パラメータ:
      exponent - 指数
      m - モジュラス。
      戻り値:
      thisexponent mod m
      スロー:
      ArithmeticException - m≤0ã§ã‚ã‚‹ã‹ã€æŒ‡æ•°ãŒè² ã§ã“ã®BigIntegerãŒmã®ç´ æ•°ã§ã¯ãªã„å ´åˆã€‚
      関連項目:
    • modInverse

      public BigInteger modInverse(BigInteger m)
      値ãŒ(this-1 mod m)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚
      パラメータ:
      m - モジュラス。
      戻り値:
      this-1 mod m。
      スロー:
      ArithmeticException - m≤0ã§ã‚ã‚‹ã‹ã€ã‚ã‚‹ã„ã¯ã“ã®BigIntegerãŒmod mã®ä¹—法逆数をæŒãŸãªã„å ´åˆ(ã¤ã¾ã‚Šã€ã“ã®BigIntegerãŒmã®ç´ æ•°ã§ã¯ãªã„å ´åˆ)。
    • shiftLeft

      public BigInteger shiftLeft(int n)
      値ãŒ(this << n)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚ シフト移動é‡nãŒè² ã®å ´åˆã¯ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯å³ã‚·ãƒ•トを実行ã—ã¾ã™ã€‚ (floor(this * 2n)を計算ã—ã¾ã™ã€‚)
      パラメータ:
      n - ビットå˜ä½ã§ã®ã‚·ãƒ•ト移動é‡ã€‚
      戻り値:
      this << n
      関連項目:
    • shiftRight

      public BigInteger shiftRight(int n)
      値ãŒ(this>> n)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚ ç¬¦å·æ‹¡å¼µãŒè¡Œã‚れã¾ã™ã€‚ シフト移動é‡nãŒè² ã®å ´åˆã¯ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯å·¦ã‚·ãƒ•トを実行ã—ã¾ã™ã€‚ (floor(this / 2n)を計算ã—ã¾ã™ã€‚)
      パラメータ:
      n - ビットå˜ä½ã§ã®ã‚·ãƒ•ト移動é‡ã€‚
      戻り値:
      this >> n
      関連項目:
    • and

      public BigInteger and(BigInteger val)
      値ãŒ(this & val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚ (ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€thisã¨valã®ä¸¡æ–¹ãŒè² ã®å ´åˆã¯è² ã®BigIntegerã‚’è¿”ã™ã€‚)
      パラメータ:
      val - ã“ã®BigIntegerã¨ã®è«–ç†ç©ã‚’ã¨ã‚‹å€¤ã€‚
      戻り値:
      this & val
    • or

      public BigInteger or(BigInteger val)
      値ãŒ(this|val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚ (ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€thisã¾ãŸã¯valãŒè² ã®å ´åˆã¯è² ã®BigIntegerã‚’è¿”ã™ã€‚)
      パラメータ:
      val - ã“ã®BigIntegerã¨ã®è«–ç†å’Œã‚’ã¨ã‚‹å€¤ã€‚
      戻り値:
      this | val
    • xor

      public BigInteger xor(BigInteger val)
      値ãŒ(this^val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚ (ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€thisã¨valã®ç‰‡æ–¹ã ã‘ãŒè² ã®å ´åˆã«è² ã®BigIntegerã‚’è¿”ã™ã€‚)
      パラメータ:
      val - ã“ã®BigIntegerã¨ã®æŽ’他的論ç†å’Œã‚’ã¨ã‚‹å€¤ã€‚
      戻り値:
      this ^ val
    • not

      public BigInteger not()
      値ãŒ(~this)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚ (ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã“ã®BigIntegerãŒè² ã§ãªã„å ´åˆã«è² ã®å€¤ã‚’è¿”ã™ã€‚)
      戻り値:
      ~this
    • andNot

      public BigInteger andNot(BigInteger val)
      値ãŒ(this & ~val)ã§ã‚ã‚‹BigIntegerã‚’è¿”ã—ã¾ã™ã€‚ and(val.not())ã¨åŒç­‰ã®ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ãƒžã‚¹ã‚­ãƒ³ã‚°æ¼”ç®—ã®ä¾¿å®œã‚’図るãŸã‚ã«æä¾›ã•れã¦ã„ã¾ã™ã€‚ (ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€thisãŒè² ã§valãŒæ­£ã®å ´åˆã«è² ã®BigInteger数値を返ã™ã€‚)
      パラメータ:
      val - ã“ã®BigIntegerã§è£œæ•°ãŒã¨ã‚‰ã‚Œã€è«–ç†ç©ãŒã¨ã‚‰ã‚Œã‚‹å€¤ã€‚
      戻り値:
      this & ~val
    • testBit

      public boolean testBit(int n)
      指定ã•れãŸãƒ“ットãŒè¨­å®šã•れã¦ã„ã‚‹å ´åˆã«ã ã‘trueã‚’è¿”ã—ã¾ã™ã€‚ (((this & (1<<n))!= 0)を計算ã™ã‚‹ã€‚)
      パラメータ:
      n - テストã™ã‚‹ãƒ“ットã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€‚
      戻り値:
      指定ã•れãŸãƒ“ットãŒè¨­å®šã•れã¦ã„ã‚‹å ´åˆã«ã ã‘true。
      スロー:
      ArithmeticException - nãŒè² ã®å ´åˆã€‚
    • setBit

      public BigInteger setBit(int n)
      値ãŒã“ã®BigIntegerã«ç­‰ã—ã„BigIntegerã‚’ã€æŒ‡å®šã•れãŸãƒ“ットを設定ã—ã¦è¿”ã—ã¾ã™ã€‚ ((this|(1<<n))を計算ã™ã‚‹ã€‚)
      パラメータ:
      n - 設定ã™ã‚‹ãƒ“ットã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€‚
      戻り値:
      this | (1<<n)
      スロー:
      ArithmeticException - nãŒè² ã®å ´åˆã€‚
    • clearBit

      public BigInteger clearBit(int n)
      値ãŒã“ã®BigIntegerã«ç­‰ã—ã„BigIntegerã‚’ã€æŒ‡å®šã•れãŸãƒ“ットをクリアã—ã¦è¿”ã—ã¾ã™ã€‚ ((this & ~(1<<n))を計算ã™ã‚‹ã€‚)
      パラメータ:
      n - クリアã™ã‚‹ãƒ“ットã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€‚
      戻り値:
      this & ~(1<<n)
      スロー:
      ArithmeticException - nãŒè² ã®å ´åˆã€‚
    • flipBit

      public BigInteger flipBit(int n)
      値ãŒã“ã®BigIntegerã«ç­‰ã—ã„BigIntegerã‚’ã€æŒ‡å®šã•れãŸãƒ“ットをå転ã•ã›ã¦è¿”ã—ã¾ã™ã€‚ ((this^(1<<n))を計算ã™ã‚‹ã€‚)
      パラメータ:
      n - å転ã™ã‚‹ãƒ“ットã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€‚
      戻り値:
      this ^ (1<<n)
      スロー:
      ArithmeticException - nãŒè² ã®å ´åˆã€‚
    • getLowestSetBit

      public int getLowestSetBit()
      ã“ã®BigIntegerã®ã‚‚ã£ã¨ã‚‚å³å´(1番低ã„ä½)ã®1ビットã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹(ã‚‚ã£ã¨ã‚‚å³å´ã®1ビットã®å³æ–¹å‘ã®0ãƒ“ãƒƒãƒˆã®æ•°)ã‚’è¿”ã—ã¾ã™ã€‚ ã“ã®BigIntegerã«1ビットãŒ1ã¤ã‚‚å«ã¾ã‚Œãªã„å ´åˆã¯ -1ã‚’è¿”ã—ã¾ã™ã€‚ ((this == 0? -1 : log2(this & -this))を計算ã™ã‚‹ã€‚)
      戻り値:
      ã“ã®BigIntegerã®ã‚‚ã£ã¨ã‚‚å³å´ã®1ビットã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€‚
    • bitLength

      public int bitLength()
      ã“ã®BigIntegerã®æœ€å°ã®2ã®è£œæ•°è¡¨ç¾å†…ã®ãƒ“ット数を返ã—ã¾ã™ã€‚ãŸã ã—ã€ç¬¦å·ãƒ“ットを除ãã¾ã™ã€‚ æ­£ã®BigIntegerã«ã¤ã„ã¦ã¯ã€é€šå¸¸ã®2進表ç¾ã«ãŠã‘ã‚‹ãƒ“ãƒƒãƒˆã®æ•°ã«ç­‰ã—ããªã‚Šã¾ã™ã€‚ ゼロã®å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯0ã‚’è¿”ã—ã¾ã™ã€‚ ((ceil(log2(this < 0 ? -this : this+1)))を計算ã™ã‚‹ã€‚)
      戻り値:
      ã“ã®BigIntegerã®æœ€å°ã®2ã®è£œæ•°è¡¨ç¾å†…ã®ãƒ“ット数。ãŸã ã—ã€ç¬¦å·ãƒ“ットを除ãã¾ã™ã€‚
    • bitCount

      public int bitCount()
      ã“ã®BigIntegerã®2ã®è£œæ•°è¡¨ç¾å†…ã®ã€ç¬¦å·ãƒ“ットã¨ç•°ãªã‚‹ãƒ“ãƒƒãƒˆã®æ•°ã‚’è¿”ã—ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯BigInteger上ã«ãƒ“ット・ベクトル形å¼ã®è¨­å®šã‚’実装ã™ã‚‹å ´åˆã«ä¾¿åˆ©ã§ã™ã€‚
      戻り値:
      ã“ã®BigIntegerã®2ã®è£œæ•°è¡¨ç¾å†…ã®ã€ç¬¦å·ãƒ“ットã¨ç•°ãªã‚‹ãƒ“ãƒƒãƒˆã®æ•°ã€‚
    • isProbablePrime

      public boolean isProbablePrime(int certainty)
      ã“ã®BigIntegerãŒç´ æ•°ã§ã‚ã‚‹å¯èƒ½æ€§ãŒé«˜ã„å ´åˆã¯trueã€å¿…ãšåˆæˆæ•°ã§ã‚ã‚‹å ´åˆã¯falseã‚’è¿”ã—ã¾ã™ã€‚ certaintyãŒâ‰¤0ã®å ´åˆã€trueãŒè¿”ã•れã¾ã™ã€‚
      実装上ã®ãƒŽãƒ¼ãƒˆ:
      基礎ã¨ãªã‚‹ãƒ—ãƒ©ã‚¤ãƒžãƒªãƒ†ã‚£ãƒ»ãƒ†ã‚¹ãƒˆãƒ»ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®æ€§è³ªã€ãŠã‚ˆã³thisã¨certaintyã®ã‚µã‚¤ã‚ºã«ã‚ˆã£ã¦ã¯ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯å¤§é‡ã®ãƒ¡ãƒ¢ãƒªãƒ¼ã‚’消費ã—ãŸã‚Šã€ä½¿ç”¨å¯èƒ½ãªãƒ’ープ領域を最大é™ã«æ¶ˆè²»ã—ãŸã‚Šã€é•·æ™‚間実行ã—ãŸã‚Šã§ãã¾ã™ã€‚
      パラメータ:
      certainty - 呼出ã—å´ãŒè¨±å®¹ã§ãã‚‹ä¸ç¢ºå®Ÿæ€§ã®ç¨‹åº¦ã€‚ã“ã®å‘¼å‡ºã—ãŒtrueã‚’è¿”ã™å ´åˆã€ã“ã®BigIntegerãŒç´ æ•°ã§ã‚る確率ã¯(1 - 1/2certainty)ã‚’è¶…ãˆã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®å®Ÿè¡Œæ™‚é–“ã¯ã“ã®ãƒ‘ラメータã®å€¤ã«æ¯”例ã—ã¾ã™ã€‚
      戻り値:
      ã“ã®BigIntegerãŒç´ æ•°ã§ã‚ã‚‹å¯èƒ½æ€§ãŒé«˜ã„å ´åˆã¯trueã€å¿…ãšåˆæˆæ•°ã§ã‚ã‚‹å ´åˆã¯false。
      スロー:
      ArithmeticException - thisãŒå¤§ãã™ãŽã¾ã™ã€‚
    • compareTo

      public int compareTo(BigInteger val)
      ã“ã®BigIntegerを指定ã•れãŸBigIntegerã¨æ¯”較ã—ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€6ã¤ã®booleanåž‹ã®æ¯”較演算å­(<ã€==ã€>ã€>=ã€!=ã€<=)ã®ãれãžã‚Œã«å¯¾ã™ã‚‹å€‹ã€…ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®ä»£ã‚ã‚Šã«æä¾›ã•れã¾ã™ã€‚ ã“ã‚Œã‚‰ã®æ¯”較を行ã†ã«ã¯ (x.compareTo(y) <op> 0)ã¨ã„ã†çµ„åˆã›ã‚’ãŠè–¦ã‚ã—ã¾ã™ã€‚ã“ã®å ´åˆã€<op>ã«ã¯6ã¤ã®æ¯”較演算å­ã®ã†ã¡ã®1ã¤ãŒå…¥ã‚Šã¾ã™ã€‚
      定義:
      compareToã€ã‚¤ãƒ³ã‚¿ãƒ•ェースComparable<BigInteger>
      パラメータ:
      val - ã“ã®BigIntegerã¨æ¯”較ã™ã‚‹BigInteger。
      戻り値:
      ã“ã®BigIntegerã®æ•°å€¤ãŒvalよりå°ã•ã„å ´åˆã¯ -1ã€ç­‰ã—ã„å ´åˆã¯0ã€å¤§ãã„å ´åˆã¯1。
    • equals

      public boolean equals(Object x)
      ã“ã®BigIntegerã¨æŒ‡å®šã•れãŸObjectãŒç­‰ã—ã„ã‹ã©ã†ã‹ã‚’比較ã—ã¾ã™ã€‚
      オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
      equalsã€ã‚¯ãƒ©ã‚¹Object
      パラメータ:
      x - ã“ã®BigIntegerã¨æ¯”較ã™ã‚‹Object。
      戻り値:
      指定ã•れãŸObjectãŒã€ã“ã®BigIntegerã¨å€¤ãŒç­‰ã—ã„BigIntegerã§ã‚ã‚‹å ´åˆã«ã ã‘true。
      関連項目:
    • min

      public BigInteger min(BigInteger val)
      ã“ã®BigIntegerã¨valã®æœ€å°å€¤ã‚’è¿”ã—ã¾ã™ã€‚
      パラメータ:
      val - 最å°å€¤ã®è¨ˆç®—ã«ä½¿ç”¨ã™ã‚‹å€¤ã€‚
      戻り値:
      ã“ã®BigIntegerã¨valã®ã†ã¡ã§å°ã•ã„æ–¹ã®å€¤ã‚’æŒã¤BigInteger。 値ãŒç­‰ã—ã„å ´åˆã¯ã©ã¡ã‚‰ã‹ãŒè¿”ã•れる。
    • max

      public BigInteger max(BigInteger val)
      ã“ã®BigIntegerã¨valã®æœ€å¤§å€¤ã‚’è¿”ã—ã¾ã™ã€‚
      パラメータ:
      val - 最大値ã®è¨ˆç®—ã«ä½¿ç”¨ã™ã‚‹å€¤ã€‚
      戻り値:
      ã“ã®BigIntegerã¨valã®ã†ã¡ã§å¤§ãã„æ–¹ã®å€¤ã‚’æŒã¤BigInteger。 値ãŒç­‰ã—ã„å ´åˆã¯ã©ã¡ã‚‰ã‹ãŒè¿”ã•れる。
    • hashCode

      public int hashCode()
      ã“ã®BigIntegerã®ãƒãƒƒã‚·ãƒ¥ãƒ»ã‚³ãƒ¼ãƒ‰ã‚’è¿”ã—ã¾ã™ã€‚
      オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
      hashCodeã€ã‚¯ãƒ©ã‚¹Object
      戻り値:
      ã“ã®BigIntegerã®ãƒãƒƒã‚·ãƒ¥ãƒ»ã‚³ãƒ¼ãƒ‰
      関連項目:
    • toString

      public String toString(int radix)
      指定ã•れãŸåŸºæ•°å†…ã®ã“ã®BigIntegerã®String表ç¾ã‚’è¿”ã—ã¾ã™ã€‚ 基数ãŒCharacter.MIN_RADIXã‹ã‚‰Character.MAX_RADIXã®ç¯„囲外ã«ã‚ã‚‹å ´åˆã€ãƒ‡ãƒ•ォルトã§ã¯10ã«ãªã‚Šã¾ã™(Integer.toStringã®å ´åˆã¨åŒã˜)。 Character.forDigitã«ã‚ˆã‚‹æ•°å€¤ã‹ã‚‰æ–‡å­—ã¸ã®ãƒžãƒƒãƒ”ングãŒä½¿ç”¨ã•れã€å¿…è¦ã«å¿œã˜ã¦ãƒžã‚¤ãƒŠã‚¹ç¬¦å·ãŒå‰ã«ä»˜ã‘られã¾ã™ã€‚ (ã“ã®è¡¨ç¾ã¯(String, int)コンストラクタã¨äº’æ›æ€§ãŒã‚りã¾ã™)。
      パラメータ:
      radix - String表ç¾ã®åŸºæ•°ã€‚
      戻り値:
      指定ã•れãŸåŸºæ•°å†…ã®ã“ã®BigIntegerã®String表ç¾ã€‚
      関連項目:
    • toString

      public String toString()
      ã“ã®BigIntegerã®10進String表ç¾ã‚’è¿”ã—ã¾ã™ã€‚ Character.forDigitã«ã‚ˆã‚‹æ•°å€¤ã‹ã‚‰æ–‡å­—ã¸ã®ãƒžãƒƒãƒ”ングãŒä½¿ç”¨ã•れã€å¿…è¦ã«å¿œã˜ã¦ãƒžã‚¤ãƒŠã‚¹ç¬¦å·ãŒå‰ã«ä»˜ã‘られã¾ã™ã€‚ (ã“ã®è¡¨ç¾ã¯(String)コンストラクタã¨äº’æ›æ€§ãŒã‚りã€Javaã®+演算å­ã¨ã®é€£çµã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚)
      オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
      toStringã€ã‚¯ãƒ©ã‚¹Object
      戻り値:
      ã“ã®BigIntegerã®10進数ã®String表ç¾ã€‚
      関連項目:
    • toByteArray

      public byte[] toByteArray()
      ã“ã®BigIntegerã®2ã®è£œæ•°è¡¨ç¾ã‚’å«ã‚€ãƒã‚¤ãƒˆé…列を返ã—ã¾ã™ã€‚ ãƒã‚¤ãƒˆé…列ã¯ãƒ“ッグエンディアンã®ãƒã‚¤ãƒˆé †åº(最上ä½ãƒã‚¤ãƒˆãŒã€Œ0ã€ç•ªç›®ã®è¦ç´ )ã§ã™ã€‚ é…列ã«ã¯ã€æœ€ä½Ž1ã¤ã®ç¬¦å·ãƒ“ットをå«ã‚€ã“ã®BigIntegerã®è¡¨ç¾ã«å¿…è¦ãªæœ€å°ã®ãƒã‚¤ãƒˆæ•°((ceil((this.bitLength()+1)/8)))ãŒå«ã¾ã‚Œã¾ã™ (ã“ã®è¡¨ç¾ã¯(byte[])コンストラクタã¨äº’æ›æ€§ãŒã‚りã¾ã™)。
      戻り値:
      ã“ã®BigIntegerã®2ã®è£œæ•°è¡¨ç¾ã‚’å«ã‚€ãƒã‚¤ãƒˆé…列。
      関連項目:
    • intValue

      public int intValue()
      ã“ã®BigIntegerã‚’intã«å¤‰æ›ã—ã¾ã™ã€‚ ã“ã®å¤‰æ›ã¯ã€longã‹ã‚‰intã¸ã®ãƒ—リミティブ変æ›ã‚’ç‹­ã‚ã‚‹ã«ä¼¼ã¦ã„ã¾ã™ã€‚Java言語仕様ã§å®šç¾©ã•れã¦ã„ã¾ã™: ã“ã®BigIntegerãŒå¤§ãã™ãŽã¦intã«åŽã¾ã‚‰ãªã„å ´åˆã¯ã€ä¸‹ä½32ビットã®ã¿ãŒè¿”ã•れã¾ã™ã€‚ ã“ã®å¤‰æ›ã«ã‚ˆã‚Šã€ã“ã®BigInteger値ã®çµ¶å¯¾å€¤å…¨ä½“ã«é–¢ã™ã‚‹æƒ…å ±ãŒå¤±ã‚れã€é€†ã®ç¬¦å·ã§è¿”ã•れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚
      定義:
      intValueã€ã‚¯ãƒ©ã‚¹Number
      戻り値:
      intã«å¤‰æ›ã•れãŸã“ã®BigInteger。
      Java言語仕様をå‚ç…§ã—ã¦ãã ã•ã„:
      5.1.3 プリミティブ・コンãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®è§£èª¬
      関連項目:
    • longValue

      public long longValue()
      ã“ã®BigIntegerã‚’longã«å¤‰æ›ã—ã¾ã™ã€‚ ã“ã®å¤‰æ›ã¯ã€longã‹ã‚‰intã¸ã®ãƒ—リミティブ変æ›ã‚’ç‹­ã‚ã‚‹ã«ä¼¼ã¦ã„ã¾ã™ã€‚Java言語仕様ã§å®šç¾©ã•れã¦ã„ã¾ã™: ã“ã®BigIntegerãŒå¤§ãã™ãŽã¦longã«åŽã¾ã‚‰ãªã„å ´åˆã¯ã€ä¸‹ä½64ビットã®ã¿ãŒè¿”ã•れã¾ã™ã€‚ ã“ã®å¤‰æ›ã«ã‚ˆã‚Šã€ã“ã®BigInteger値ã®çµ¶å¯¾å€¤å…¨ä½“ã«é–¢ã™ã‚‹æƒ…å ±ãŒå¤±ã‚れã€é€†ã®ç¬¦å·ã§è¿”ã•れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚
      定義:
      longValueã€ã‚¯ãƒ©ã‚¹Number
      戻り値:
      longã«å¤‰æ›ã•れãŸã“ã®BigInteger。
      Java言語仕様をå‚ç…§ã—ã¦ãã ã•ã„:
      5.1.3 プリミティブ・コンãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®è§£èª¬
      関連項目:
    • floatValue

      public float floatValue()
      ã“ã®BigIntegerã‚’floatã«å¤‰æ›ã—ã¾ã™ã€‚ ã“ã®å¤‰æ›ã¯ã€Java言語仕様ã§å®šç¾©ã•れã¦ã„ã‚‹doubleã‹ã‚‰floatã¸ã®ãƒ—リミティブ変æ›ã‚’ç‹­ã‚ã‚‹ã«ä¼¼ã¦ã„ã¾ã™: ã“ã®BigIntegerãŒå¤§ãã™ãŽã¦floatã¨ã—ã¦è¡¨ç¾ã§ããªã„å ´åˆã¯ã€å¿…è¦ã«å¿œã˜ã¦Float.NEGATIVE_INFINITYã¾ãŸã¯Float.POSITIVE_INFINITYã«å¤‰æ›ã•れã¾ã™ã€‚ æˆ»ã‚Šå€¤ãŒæœ‰é™ã§ã‚ã‚‹å ´åˆã‚‚ã€ã“ã®å¤‰æ›ã«ã‚ˆã‚Šã€BigInteger値ã®ç²¾åº¦ã«é–¢ã™ã‚‹æƒ…å ±ãŒå¤±ã‚れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚
      定義:
      floatValueã€ã‚¯ãƒ©ã‚¹Number
      戻り値:
      floatã«å¤‰æ›ã•れãŸã“ã®BigInteger。
      Java言語仕様をå‚ç…§ã—ã¦ãã ã•ã„:
      5.1.3 プリミティブ・コンãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®è§£èª¬
    • doubleValue

      public double doubleValue()
      ã“ã®BigIntegerã‚’doubleã«å¤‰æ›ã—ã¾ã™ã€‚ ã“ã®å¤‰æ›ã¯ã€Java言語仕様ã§å®šç¾©ã•れã¦ã„ã‚‹doubleã‹ã‚‰floatã¸ã®ãƒ—リミティブ変æ›ã‚’ç‹­ã‚ã‚‹ã«ä¼¼ã¦ã„ã¾ã™: ã“ã®BigIntegerãŒå¤§ãã™ãŽã¦doubleã¨ã—ã¦è¡¨ç¾ã§ããªã„å ´åˆã¯ã€å¿…è¦ã«å¿œã˜ã¦Double.NEGATIVE_INFINITYã¾ãŸã¯Double.POSITIVE_INFINITYã«å¤‰æ›ã•れã¾ã™ã€‚ æˆ»ã‚Šå€¤ãŒæœ‰é™ã§ã‚ã‚‹å ´åˆã‚‚ã€ã“ã®å¤‰æ›ã«ã‚ˆã‚Šã€BigInteger値ã®ç²¾åº¦ã«é–¢ã™ã‚‹æƒ…å ±ãŒå¤±ã‚れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚
      定義:
      doubleValueã€ã‚¯ãƒ©ã‚¹Number
      戻り値:
      doubleã«å¤‰æ›ã•れãŸã“ã®BigInteger。
      Java言語仕様をå‚ç…§ã—ã¦ãã ã•ã„:
      5.1.3 プリミティブ・コンãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®è§£èª¬
    • longValueExact

      public long longValueExact()
      ã“ã®BigIntegerã‚’longã«å¤‰æ›ã—ã€å¤±ã‚ã‚ŒãŸæƒ…å ±ãŒãªã„ã‹ã©ã†ã‹ã‚’確èªã—ã¾ã™ã€‚ ã“ã®BigIntegerã®å€¤ãŒlongåž‹ã®ç¯„囲ã‹ã‚‰å¤–れã¦ã„ã‚‹å ´åˆã¯ã€ArithmeticExceptionãŒã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã€‚
      戻り値:
      longã«å¤‰æ›ã•れãŸã“ã®BigInteger。
      スロー:
      ArithmeticException - thisã®å€¤ãŒlongã«ã´ã£ãŸã‚ŠåŽã¾ã‚‰ãªã„å ´åˆã€‚
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.8
      関連項目:
    • intValueExact

      public int intValueExact()
      ã“ã®BigIntegerã‚’intã«å¤‰æ›ã—ã€å¤±ã‚ã‚ŒãŸæƒ…å ±ãŒãªã„ã‹ã©ã†ã‹ã‚’確èªã—ã¾ã™ã€‚ ã“ã®BigIntegerã®å€¤ãŒintåž‹ã®ç¯„囲ã‹ã‚‰å¤–れã¦ã„ã‚‹å ´åˆã¯ã€ArithmeticExceptionãŒã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã€‚
      戻り値:
      intã«å¤‰æ›ã•れãŸã“ã®BigInteger。
      スロー:
      ArithmeticException - thisã®å€¤ãŒintã«æ­£ç¢ºã«åŽã¾ã‚‰ãªã„å ´åˆã€‚
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.8
      関連項目:
    • shortValueExact

      public short shortValueExact()
      ã“ã®BigIntegerã‚’shortã«å¤‰æ›ã—ã¦ã€å¤±ã‚ã‚ŒãŸæƒ…å ±ãŒãªã„ã‹ã©ã†ã‹ã‚’確èªã—ã¾ã™ã€‚ ã“ã®BigIntegerã®å€¤ãŒshortåž‹ã®ç¯„囲ã‹ã‚‰å¤–れã¦ã„ã‚‹å ´åˆã¯ã€ArithmeticExceptionãŒã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã€‚
      戻り値:
      shortã«å¤‰æ›ã•れãŸã“ã®BigInteger。
      スロー:
      ArithmeticException - thisã®å€¤ãŒshortã«ã´ã£ãŸã‚ŠåŽã¾ã‚‰ãªã„å ´åˆã€‚
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.8
      関連項目:
    • byteValueExact

      public byte byteValueExact()
      ã“ã®BigIntegerã‚’byteã«å¤‰æ›ã—ã€å¤±ã‚ã‚ŒãŸæƒ…å ±ãŒãªã„ã‹ã©ã†ã‹ã‚’確èªã—ã¾ã™ã€‚ ã“ã®BigIntegerã®å€¤ãŒbyteåž‹ã®ç¯„囲ã‹ã‚‰å¤–れã¦ã„ã‚‹å ´åˆã¯ã€ArithmeticExceptionãŒã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã€‚
      戻り値:
      byteã«å¤‰æ›ã•れãŸã“ã®BigInteger。
      スロー:
      ArithmeticException - thisã®å€¤ãŒbyteã«ã´ã£ãŸã‚ŠåŽã¾ã‚‰ãªã„å ´åˆã€‚
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.8
      関連項目: