Hi! I’m trying to make a calculation, but the answer isn’t right.
It should be 2592788242.73, but get 2592788224.
Here’s the code:
void main()
{
unsigned long a;
a = test(37.325, 180.0, -180.0);
}
unsigned long test (double value, double maximum, double minimum)
{
unsigned long ret;
if( value > maximum )
value = maximum;
if( value < minimum )
Vavaluelor = minimum;
ret = ((value - minimum) * 4294967295) / (maximum - minimum);
return ret;
}
Am I using the wrong data type?
Thanks!