Class | Bignum |
In: |
bignum.c
lib/rational.rb |
Parent: | Integer |
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 Fixnum values are immediate, Bignum objects are not—assignment and parameter passing work with references to objects, not the objects themselves.
Returns big modulo other. See Numeric.divmod for more information.
Comparison—Returns -1, 0, or +1 depending on whether big is less than, equal to, or greater than numeric. This is the basis for the tests in Comparable.
Returns true only if obj has the same value as big. Contrast this with Bignum#eql?, which requires obj to be a Bignum.
68719476736 == 68719476736.0 #=> true
Bit Reference—Returns the nth bit in the (assumed) binary representation of big, where big[0] is the least significant bit.
a = 9**15 50.downto(0) do |n| print a[n] end
produces:
000101110110100000111000011110010100111100010111001
Returns big modulo other. See Numeric.divmod for more information.
Returns the floating point result of dividing big by numeric.
-1234567890987654321.quo(13731) #=> -89910996357705.5 -1234567890987654321.quo(13731.24) #=> -89909424858035.7
Returns the remainder after dividing big by numeric.
-1234567890987654321.remainder(13731) #=> -6966 -1234567890987654321.remainder(13731.24) #=> -9906.22531493148
Returns the number of bytes in the machine representation of big.
(256**10 - 1).size #=> 12 (256**20 - 1).size #=> 20 (256**40 - 1).size #=> 40
Returns a string containing the representation of big radix base (2 through 36).
12345654321.to_s #=> "12345654321" 12345654321.to_s(2) #=> "1011011111110110111011110000110001" 12345654321.to_s(8) #=> "133766736061" 12345654321.to_s(16) #=> "2dfdbbc31" 78546939656932.to_s(36) #=> "rubyrules"