我有以下简单的程序来生成 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 上进行这项工作吗?