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