反向配方转换

时间:2010-05-17 19:29:24

标签: java graphics fixed-point

我有一个计算Y位置的公式,这里是:

double y = ...;
double minX = ..;
double scaleY = ..;
int MAX_COORD = (1 << 16) - 1;
int sy = ~(int)((y - minY) / scaleY * MAX_COORD) & 0xFFFF;

现在我有sy,我需要像这样计算y:

y = (sy * scaleY) / MAX_COORD + minY;

但转换不等于......我认为是因为我不知道如何交谈〜和&amp;运算符。

1 个答案:

答案 0 :(得分:1)

~x是-x-1,它是它自己的逆。

x&amp; 0xffff与x%65536相同。由于多个值可以映射到相同的结果,因此无法将其反转,但如果结果在适当的范围内,您可以将其视为身份,即将其保留。