【发布时间】:2019-04-11 11:12:49
【问题描述】:
我正在使用 OpenCL 在 Java 中编写 mandelbrot 分形渲染器。在我的内核代码中,我需要将int 转换为float。但是当我说printf("%d", sizeX, "\n%d", (float) sizeX, "\n\n");(sizeX 是一个整数)时,我在控制台中得到以下结果:
512
0
确实,sizeX 应该是 512,但是为了进行进一步的计算,我需要它是一个浮点数。有人知道为什么我尝试投射它时它总是变成 0 吗?
编辑:
我也尝试通过 float fSizeX = 0.0f + sizeX 进行转换,但这也没有用。
【问题讨论】:
-
你能提供确切的代码不工作吗?
-
@PavelSmirnov 我有一个函数可以将整数转换为 float4 以获得更高的精度
inline float4 qfAssignInt(int value) { return (float4)((float) value, 0.0f, 0.0f, 0.0f); }