なかだです。 At Tue, 13 Sep 2005 13:22:26 +0900, H.Yamamoto wrote in [ruby-dev:27055]: > なぜ警告が出るのか探していて見つけたのですが、 > > http://wisdom.sakura.ne.jp/programming/c/c13.html > > によると、int から char への変換は下位8ビットをマスクしたのと同じ挙動を > 示すそうです。(言われてみると納得できる気もするのですが、なんか意外でした。 > C++ の bool のような感覚で、なんとなく非負の int は非負の char になるように思い込んでました。) CHAR_BIT == 8 の場合は、ですね。 > 符合があるときもこの挙動なのか、よく調べてませんが、これが本当なら > marshal.c の & 0xff は char へのキャストに置き換えられると思います。 だから、厳密にいうとまったく同じとはいえませんが、この場合はむ しろキャストのほうが適切だと思います。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦