gpt4 book ai didi

c - 在 PPC 上的 Montavista 上用 C 语言生成 float

转载 作者:行者123 更新时间:2023-11-30 18:06:17 25 4
gpt4 key购买 nike

我有以下简单的程序来生成 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 上实现此功能吗?

最佳答案

预感您应该使用 double 而不是 float 或打印 (double)u,因为 %f 采用 double。我的印象是,当传递给可变参数函数时, float 会自动提升为 double 。

您还可以尝试打印 (int)(u*10000)

关于c - 在 PPC 上的 Montavista 上用 C 语言生成 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5693321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com