新井です。

printf("%u", -1)

は、

..4294967295

よりも、素直に

4294967295

と出力した方が良いような気がします。なんとも迷う所ですが、あ
る意味どうでもいい話なので適用して頂かなくても構いませんです。


Fri Mar 22 04:07:55 2002 Koji Arai <jca02266 / nifty.ne.jp> * sprintf.c (rb_f_printf): discard meaningless prefix ".." for '%u'. Index: sprintf.c =================================================================== RCS file: /usr/local/cvsup/ruby/ruby/sprintf.c,v retrieving revision 1.19 diff -u -p -r1.19 sprintf.c --- sprintf.c 1 Feb 2002 10:23:22 -0000 1.19 +++ sprintf.c 21 Mar 2002 18:19:37 -0000 @@ -437,7 +437,7 @@ rb_f_sprintf(argc, argv) goto format_integer; } s = nbuf; - if (v < 0) { + if (v < 0 && base != 10) { strcpy(s, ".."); s += 2; } @@ -491,8 +491,10 @@ rb_f_sprintf(argc, argv) remove_sign_bits(++s, base); val = rb_str_new(0, 3+strlen(s)); t = RSTRING(val)->ptr; - strcpy(t, ".."); - t += 2; + if (base != 10) { + strcpy(t, ".."); + t += 2; + } switch (base) { case 16: if (s[0] != 'f') strcpy(t++, "f"); break;