From: TAKEUCHI Hideki Date: 2001-05-21T12:25:07+09:00 Subject: [ruby-list:29728] Re: rand(1<<32) In message "[ruby-list:29724] Re: rand(1<<32)" on 01/05/21, Takahiro Kambe writes: >> >>srandに常に同じ値を与えていらっしゃいますが、NetBSDのオンライン・マニュ >>アルによると、 >> >> The srand() function sets its argument as the seed for a new sequence of >> pseudo-random numbers to be returned by rand(). These sequences are re- >> peatable by calling srand() with the same seed value. >> >>ということで、同じseedを与えると同じ疑似乱数系列が得られるのは当然に >>思えます。そうならないのは、srand/rand等で使っている実際のライブラリが >>異なるといったことはないでしょうか? >> random.cを読むと実際に使っているライブラリーは srand --> srand48() rand --> drand48() ですから、同じライブラリーと思われます。 さらにふにおちないのは, In message "rand(1<<32)" on 01/05/21, TAKEUCHI Hideki writes: >> >> r = va | vb | vc >> >> printf "%08x %08x %08x %08x\n", va, vb, vc, r >>} ... >>$ diff t1 t2 | head >>3065c3065 >>< 587928a3 1b4d8fa3 f97d0a2e 00146690 >>--- >>> 587928a3 1b4d8fa3 f97d0a2e fb7dafaf 同じ3つの数のbit-orを計算しているのに結果が違っていることです. -- 竹内英樹