From: "U.Nakamura" Date: 2013-12-01T13:41:23+09:00 Subject: [ruby-list:49718] Re: sprintfフォーマットについて こんにちは、なかむら(う)です。 In message "[ruby-list:49709] Re: sprintfフォーマットについて" on Dec.01,2013 09:53:06, wrote: > なんでこんな仕様になったのかなぁ。 Rubyの整数は無限長幅だから、というのが理由です。 -1という数値を2の補数形式で表現した場合、幅が 8bit: 0xFF 16bit: 0xFFFF 32bit: 0xFFFFFFFF 64bit: 0xFFFFFFFFFFFFFFFF (以下略) となるわけですが、無限長幅だとFが無限に続いてしまうわけです。 というわけで、現在のRubyでは、このような場合、意図を表現でき る最短部分までを十六進表記し、その前にFが無限に続くことを示す .. を付加しています。 (二進表記(%b)、八進表記(%o)でも同様なのでご確認あれ) それでは。 -- U.Nakamura