From: Jano Svitok Date: 2007-04-30T22:58:50+09:00 Subject: Re: Why is 0x7FFFFFFF Bignum and not Fixnum ? On 4/30/07, Mr Magpie wrote: > > Because 0x40000000 is either the sign bit or the magic flag. > > 0x80000000 would be the sign bit. What is this "magic flag" that seems > to be occupying 0x40000000 ? This is kind of "hack" / implementation detail: this bit is a flag that distinguishes between immediate values and full objects. the number is either - 31 bit signed fixnum - nil - true - false - symbol - pointer/handle to VALUE object For more details see http://www.oreillynet.com/ruby/blog/2006/01/the_ruby_value_1.html