0

我可以使用由统一随机数生成器例程生成的 32 位无符号整数。我想将此数字转换为 [0,1] 范围内的浮点数。显然,这很容易通过将 unsigned int 除以 UINT_MAX 来完成,在除法之前将两者都转换为浮点数。除非我弄错了,否则我认为这样的划分会花费我很多精度,因此并不理想。

由于此操作将在 openCL 中执行,因此我假设没有可以在中间使用的双变量。

有什么想法可以更好地生成浮点数吗?

提前致谢!

汤姆

4

1 回答 1

0

我不这么认为。

无论如何,您只有 32 位精度可用,因此转换为(大概是 32 位)浮点数并返回应该没问题。

您将遇到 32 位量化“错误”,但这是基于原始 32 位数据类型,而不是浮点数。

于 2012-09-25T16:09:39.183 回答