From: Tanaka Akira Date: 2007-07-23T00:35:30+09:00 Subject: [ruby-dev:31271] (1 << 0x40000000)[0x40000000] 次のように、(1 << 0x40000000)[0x40000000] が 0 になります。 % ./ruby -ve 'p((1 << 0x40000000)[0x40000000])' ruby 1.9.0 (2007-07-22 patchlevel 0) [i686-linux] 0 また、(-1 << 0x40000001)[0x40000000] が 1 になります。 % ./ruby -e 'p((-1 << 0x40000001)[0x40000000])' 1 あと、(-0x40000002)[big_zero] が 1 に、 0x400000001[big_zero] が 0 になります。 % ./ruby -e 'big_zero = 0x40000000.coerce(0)[0]; p((-0x40000002)[big_zero])' 1 % ./ruby -e 'big_zero = 0x40000000.coerce(0)[0]; p(0x400000001[big_zero])' 0 -- [田中 哲][たなか あきら][Tanaka Akira]