From: matz@... (Yukihiro Matsumoto) Date: 2002-11-22T11:57:48+09:00 Subject: [ruby-dev:18897] Re: spec. of format "%.nx" まつもと ゆきひろです In message "[ruby-dev:18896] spec. of format "%.nx"" on 02/11/22, YANAGAWA Kazuhisa writes: | "%.6x"%-10 #=> fffff6 | "%.5x"%-10 #=> ffff6 | "%.4x"%-10 #=> ..f6 | "%.3x"%-10 #=> ..f6 | |というのは意図的なものでしょうか,それとも単なるバグ? えーと、意図的ってのはどっちを指してます? 「ffff6」で「..」が表示されない方? それとも「..」の表示そのもの? 前者はバグです。うーん。こんなのが残っていたか。 後者は意図的です。 ご存じない方のために説明しておくと、そもそも負の数を16進表示 するという時点で無理があるんですが、数の大きさに制限のない RubyではCのような32bitとか64bitの大きさでunsignedと見なすと いう手が使えません。そこで、(仮想的には)左側に無限に続く1の うちもっとも右の0xfだけを残して後を「..」で表示しています。 まつもと ゆきひろ /:|)