From: keiju@... (Keiju ISHITSUKA) Date: 1997-03-13T14:07:33+09:00 Subject: [ruby-list:2358] Re: [BUG] unpack けいじゅ@SHLジャパンです. In [ruby-list :02356 ] the message: "[ruby-list:2356] [BUG] unpack ", on Mar/13 12:38(JST) keiju@shljapan.co.jp (Keiju ISHITSUKA) writes: > v1 = 0x80000000 > v2 = 0xffffffff > printf "%x|%x\n", v1, v2 > s = [v1, v2].pack("ll") ># print s.inspect, "\n" > a = s.unpack("ll") > printf "%x|%x\n", a[0], a[1] > >次のような結果になります. > >80000000|ffffffff >-80000000|ffffffff > >0x80000000の時にバグがあるみたいですね. 調べてみると, 0x8000000から >0xbfffffffまでばぐっています... 不思議だ... pack("l")はsingend long なのでバグっているのは 0xc0000000から0xffffff までがバグっているんですかね?? ついでに, pack("L")もバグっています. 80000000|ffffffff -80000000|-ffffffff となります... unsignedで負になるのは... __ ..........................................石塚 圭樹@SHLジャパン(株)... ------------->アドレス変わりました!! e-mail: keiju@shljapan.co.jp <----