In article <200707180814.l6I8ECe6018402 / sharui.nakada.kanuma.tochigi.jp>,
  Nobuyoshi Nakada <nobu / ruby-lang.org> writes:

> すいません、rb_big_powの部分は余分でした。そこは元のままで。

あーやはり。

でも、直ってないかんじ?

% ./ruby -e 'p((1 << -0x40000001).size)'
134217732

% ./ruby -e 'p 1 >> -0x40000001'
0

% ./ruby -e 'p (1 >> 0x80000000).size'
268435460

あとさらに。

% ./ruby -e 'p 1 >> 0xffffffff'      
2

% ./ruby -e 'p 1 >> 0x100000000'
-e:1:in `>>': bignum too big to convert into `long' (RangeError)
        from -e:1:in `<main>'

% ./ruby -e 'p 1 << 0x80000000'      
0

% ./ruby -e 'p 1 << 0xffffffff'      
0
-- 
[田中 哲][たなか あきら][Tanaka Akira]