Math 将整数转换为浮点范围,但范围相反

Math 将整数转换为浮点范围,但范围相反,math,floating-point,int,range,Math,Floating Point,Int,Range,我需要将一个整数转换成一个浮点数,在一个特定的范围内,顺序相反 //if (int) value >= 1 && value <= 16,777,216 //result = convert(value) //if value = 1 //result = 0.010 167 772 160 //if value = 16,777,216 //result = 0.010 000 000 000 //convert() = ??? //如

我需要将一个整数转换成一个浮点数,在一个特定的范围内,顺序相反

//if (int) value >= 1 && value <= 16,777,216
    //result = convert(value)

//if value = 1
    //result = 0.010 167 772 160
//if value = 16,777,216
    //result = 0.010 000 000 000

//convert() = ???

//如果(int)value>=1&&value如果您只需要线性插值,可以尝试此方法(不精确,但很接近)。你想解决什么问题

double convert( int x ) {
    return 0.01 + ( 16777216 - x ) * 0.00000000001;
}

你知道如果射程没有倒转怎么做吗?很遗憾,没有。那我就倒转这个列表。这看起来很有希望。问题是将堆叠顺序或zDepth从100万转换为1600万转换为XNA的spriteBatch zDepth 1.0到0.000 001。刚刚测试了它:1=:0.01016777215 54279=:0.01016722937 1345612=:0.01015431604 16777216=:0.01