gpt4 book ai didi

java - 如何在 OpenCL 中将 int 转换为 float?

转载 作者:行者123 更新时间:2023-12-01 19:40:08 25 4
gpt4 key购买 nike

我正在使用 OpenCL 用 Ja​​va 编写曼德尔布罗分形渲染器。在我的内核代码中,我需要将 int 转换为 float。但是当我说 printf("%d", sizeX, "\n%d", (float) sizeX, "\n\n"); (sizeX 是int),我在控制台中得到以下结果:

512
0

事实上,sizeX 应该是 512,但为了进行进一步的计算,我需要它是一个 float 。有人知道为什么当我尝试转换它时它总是变成 0 吗?

编辑:我还尝试通过执行 float fSizeX = 0.0f + sizeX 来转换它,但这也不起作用。

最佳答案

该代码不会产生给定的结果。输出将为 512,没有任何其他内容。

printf() 方法(以及 format() 方法)只有一个“格式指定”参数。您可能想尝试这样的事情:

printf("%d\n%f\n\n", sizeX, (float) sizeX);

此外,%d 格式说明符会对非 int/Integer 值抛出 InvaligArgumentException,因此我用 %f 代替。

关于java - 如何在 OpenCL 中将 int 转换为 float?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55631162/

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