1 から 4 までの浮動小数点乱数を生成する次の簡単なプログラムがあります。
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int i = 0;
float u;
srand((unsigned)time(NULL));
for(i = 0;i< 10000 ; i++)
{
u = ((4-1)*((float)rand()/RAND_MAX))+1;
printf("The random value for iteration = %d is %2.4f \n", i, u);
}
}
x86 Red Hat Linux マシンで 1 ~ 4 の浮動小数点乱数を正常に生成します。しかし、Montavista Linux を実行している PPC では、同じプログラムが乱数として 0.0000 を生成します。
PPC Montavista でこれを機能させる理由と方法を誰か説明してもらえますか?