将大整数转换为介于 0.0f 和 1.0f 之间的浮点数

Convert a large int to a float between 0.0f and 1.0f

我正在做一个项目,我有一个在 x 和 z 上从 0 到 500 的窗格,但我需要将该坐标(从 0 到 500)转换为 0.0 范围内的浮点数到 1.0 英寸,因为我正在使用的某些功能需要它。

我被困在如何获取轴位置(可以说是 3475x3475 之类的东西)并将其在平面上的相对位置从 0.0f 更改为 1.0f

(我试图以任何程序员都能理解的方式来写这篇文章,而不是使用 Unity 术语。如果您是 Unity 程序员并且希望用该术语更好地理解它,请告诉我,我会重新-写吧)

您可以将 0 到 500 之间的数字除以 500,例如scaled_x = x / 500.0f。根据 x 的语言和类型,您需要除以 500500.0f。如果你使用像 C 这样有整数除法的语言,并且如果 x 是一个整数,那么 x / 500 将是零,除非 x 是 500,但是如果你这样做 x/500.0f比你会得到 0.0f1.0f 之间的浮点数(假设 x 介于 0 和 500 之间)。这当然是假设你想要一个线性映射,例如0映射到0,100映射到0.2,250映射到0.5等等。