【发布时间】:2010-11-10 23:06:35
【问题描述】:
假设我有一个 API,它只允许我存储浮点数或浮点数数组。但是,我想在这里存储整数值。
我(大致)知道我可以直接投射到 2^23 左右,但如果我想更高怎么办?有什么方法可以让我利用更多的 32 位浮点数,并确保我会得到相同的数字?
澄清:
我正在使用 Pixar 的 PRMan(即 RenderMan)对点云进行一些操作。我可以用 C 或 C++ 编写链接到预编译的点云 API。 PRMan 在任何时候都不必使用我存储的这些整数;我只需要在对附加到点的其他数据进行操作后将它们原封不动地交还给我。
【问题讨论】:
-
我们在说什么语言?
-
注意你在哪个平台上了解浮动是如何实现的也很重要。但您使用 IEEE 浮点数可能是一个真正安全的赌注。
标签: c++ c floating-point int