[ruby-list:49719] Re: sprintfフォーマットについて

From: dezawa <dezawa@...>
Date: 2013-12-01 06:21:21 UTC
List: ruby-list #49719
ありがとうございます、
この記法はrubyだけでしょうか、それとも規格になっているのでしょうか。

(2013年12月01日 13:41), U.Nakamura wrote:
> こんにちは、なかむら(う)です。
> 
> 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が無限に続くことを示す
> .. を付加しています。

# "%04x" と「2byte幅で書け」と指示しているのだから
# それで良いようにも思うのです。
# 4文字固定幅で欄を用意しているような時のために、
# "%!04x" みたいな 「修飾したら .. なし」 にならないですかね。

> (二進表記(%b)、八進表記(%o)でも同様なのでご確認あれ)
はい、そのように書いてありました、

In This Thread