Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Bignumクラス

class Bignum

クラスの継承リスト: Bignum < Integer < Numeric < Comparable < Object < Kernel < BasicObject

要約

多倍長整数のクラスです。 演算の結果が Fixnum の範囲内の時には 自動的に Fixnum に変換されます。

扱うことのできる大きさはメモリサイズだけによって制限されます。 ビット演算については 2 の補数表現の無限長 のビットストリングとみなすことができます。特に負の数は左側に無限に 1 のビットが立っているように操作できます。Float との混合に関しては、 変換時に桁落ちが生じる可能性があります。

破壊的な変更

Ruby の Bignum クラスは immutable です。 つまり、オブジェクト自体を破壊的に変更することはできません。 Fixnum も同様です。

インスタンスメソッド

定義 説明
self % other -> Fixnum | Bignum | Float

算術演算子。剰余を計算します。

self & other -> Fixnum | Bignum

ビット二項演算子。論理積を計算します。

self * other -> Fixnum | Bignum | Float

算術演算子。積を計算します。

self ** other -> Integer | Float | Rational
rpower(other) -> Integer | Float | Rational

冪(べき)乗を計算します。other が 0 以下の場合、計算結果を Rational オブジェクトで返します。

rational
self ** other -> Fixnum | Bignum | Float

算術演算子。冪(べき乗)を計算します。

self + other -> Fixnum | Bignum | Float

算術演算子。和を計算します。

self - other -> Fixnum | Bignum | Float

算術演算子。差を計算します。

self / other -> Fixnum | Bignum | Float

算術演算子。商を計算します。

self / other

Bignum#quo と同じ働きをします(有理数または整数を返します)。

mathn
self << bits -> Fixnum | Bignum

シフト演算子。bits だけビットを左にシフトします。

self <=> other -> Fixnum | nil

self と other を比較して、self が大きい時に正、 等しい時に 0、小さい時に負の整数を返します。

self == other -> bool

比較演算子。数値として等しいか判定します。

self >> bits -> Fixnum | Bignum

シフト演算子。bits だけビットを右にシフトします。

self[nth] -> Fixnum

nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。

self ^ other -> Fixnum | Bignum

ビット二項演算子。排他的論理和を計算します。

quo(other) -> Rational

商を計算して計算結果を Rational オブジェクトで返します。

rational
size -> Fixnum

整数の実装上のサイズをバイト数で返します。

to_f -> Float

値を浮動小数点数(Float)に変換します。

self | other -> Fixnum | Bignum

ビット二項演算子。論理和を計算します。

~ -> Fixnum | Bignum

ビット演算子。否定を計算します。

継承したメソッド

! != chr denominator downto even? gcd gcdlcm integer? lcm next numerator odd? ord pred prime? prime_division rationalize times to_bn to_i to_r to_s upto .each_prime .from_prime_division +@ -@ abs ceil clone coerce div divmod eql? fdiv floor i modulo nonzero? real? remainder round step truncate zero? === =~ __id__ __send__ _dump class dclone display enum_for equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods must_be must_be_close_to must_be_empty must_be_instance_of must_be_kind_of must_be_nil must_be_same_as must_be_within_epsilon must_equal must_include must_match must_raise must_respond_to must_send must_throw nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? respond_to_missing? singleton_class singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style trust untaint untrust untrusted? wont_be wont_be_close_to wont_be_empty wont_be_instance_of wont_be_kind_of wont_be_nil wont_be_same_as wont_be_within_epsilon wont_equal wont_include wont_match wont_respond_to .new

追加されるメソッド

定義 説明 ライブラリ
power!(other) -> Integer | Float

冪(べき)乗を計算します。

rational