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]