In message "[ruby-list:9311] printf float as hex, bug or spec"
    on 98/08/28, SUGAI Norihiko <sugai / coss.telcom.oki.co.jp> writes:
|
|こんにちは。すがいと申します。
|
|printf で %x の引数に小数をつかうと
|以下のようなメッセージが出るのですが、
|これは、書いてある通りBUGなのでしょうか?

そうです.わたなべさんからもパッチが出てますが,別解としてワ
タシ版も出しておきます.

--- sprintf.c	1998/07/24 04:32:31	1.1.1.2.2.11
+++ sprintf.c	1998/08/28 02:58:09
@@ -359,2 +359,3 @@
 		    val = dbl2big(RFLOAT(val)->value);
+		    if (FIXNUM_P(val)) goto bin_retry;
 		    bignum = 1;

|ためしに C で
|#include <stdio.h>
|main()
|{
|  printf("%x\n",100.5);
|}	 
|というのを実行すると0を返すので、C のライブラリとは
|ちがうのですね?

Cライブラリでは%xに実数を与えた時の挙動は未定義です.

Rubyではその辺も考慮してprintfは独自の実装になってます.一部
Cのprintfを使ってますが.

                                まつもと ゆきひろ /:|)