Итак, я занимаюсь графической математикой и вставляю то, что, как мне кажется, является числом с плавающей запятой (я почти уверен, что способы, которыми я заранее манипулировал числом с плавающей запятой, что-то испортили...) в функцию и получаю странные отрицательные результаты.
например, при выполнении следующих операций, когда Угол изначально равен 350,0, тест заканчивается
-0,99. Почему?
Angle= (float)(Angle-(int)Angle)+(float)((int)Angle%90);
// calculates x and y based on angle and Hypotenuse
float test= sin(Angle);
float test2= 1/(Speed*Time);
float test3= test/test2;
buffX= sin(Angle)/ (1.f/(Speed*Time));
buffY= sin(Angle-90)/ (1.f/(Speed*Time));
пытаясь сохранить Angle с плавающей запятой, поставив (float) до того, как все не сработало ... пожалуйста, помогите! Спасибо!