Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Ruby Programming
Previous Page Home Next Page
class Bignum
Parent: Integer
Version: 1.6


Arithmetic operations Bit operations <=> [ ] size to_f to_i to_s

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.

instance methods
Arithmetic operations

Performs various arithmetic operations on big.

big + aNumeric Addition
big -- aNumeric Subtraction
big * aNumeric Multiplication
big / aNumeric Division
big % aNumeric Modulo
big ** aNumeric Exponentiation

Bit operations

Performs various operations on the binary representations of the Bignum

~ big Invert bits
big | aNumeric Bitwise OR
big & aNumeric Bitwise AND
big ^ aNumeric Bitwise EXCLUSIVE OR
big << aNumeric Left-shift aNumeric bits
big >> aNumeric Right-shift aNumeric bits (with sign extension)

<=> big <=> aNumeric -> -1, 0, +1

Comparison---Returns -1, 0, or +1 depending on whether big is less than, equal to, or greater than aNumeric. This is the basis for the tests in Comparable.

[ ] big[ n ] -> 0, 1

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]

size big.size -> anInteger

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

to_f big.to_f -> aFloat

Converts big to a Float. If big doesn't fit in a Float, the result is infinity.

to_i big.to_i -> big

Returns big.

to_s big.to_s -> aString

Returns a string containing the decimal representation of big.

Ruby Programming
Previous Page Home Next Page

  Published under the terms of the Open Publication License Design by Interspire