Bignum objects hold integers outside the range of Fixnum. Bignum objects are created automatically when integer calculations would otherwise overflow a Fixnum. When a calculation involving Bignum objects returns a result that will fit in a Fixnum, the result is automatically converted.
For the purposes of the bitwise operations and , a Bignum is treated as if it were an infinite-length bitstring with 2’s complement representation.
While <a href="/ruby/Fixnum">Fixnum</a> values are immediate, Bignum objects are not—assignment and parameter passing work with references to objects, not the objects themselves.
bignum.c lib/mathn.rb lib/rational.rb