From: Tanaka Akira Date: 2008-03-06T01:57:27+09:00 Subject: [ruby-dev:33994] printf "[%08f]\n", 0.0/0.0 以下のように、printf で NaN, Inf で 0 padding が起こります。 % ./ruby -ve 'printf "[%08f]\n", 0.0/0.0' ruby 1.9.0 (2008-03-06 revision 15699) [i686-linux] [00000NaN] % ./ruby -e 'printf "[%08f]\n", 1.0/0.0' [00000Inf] % ./ruby -e 'printf "[%08f]\n", -1.0/0.0' [-0000Inf] しかし、C の規格では NaN と Inf に関しては 0 padding は起こ りません。実際、glibc ではそうなります。 % uname -srv Linux 2.6.18-5-686 #1 SMP Mon Dec 24 16:41:07 UTC 2007 % cat tst.c #include #include int main(int argc, char **argv) { printf("[%08f]\n", 0.0/0.0); printf("[%08f]\n", 1.0/0.0); printf("[%08f]\n", -1.0/0.0); return 0; } % gcc tst.c % ./a.out [ nan] [ inf] [ -inf] -- [田中 哲][たなか あきら][Tanaka Akira]