Я только что заметил что-то странное в моем коде
Я создал простое приложение, чтобы показать вам, о чем я говорю
float Test1 = 112.12;
float Test2 = 0.12;
printf("Test1 %15f", Test1);
printf("Test1 %15f", Test1);
Я всегда думал, что если я напишу Test1 = 112.12, это означает, что он равен 112.120000000
однако я получаю 112.120003
и во втором примере я получаю 0.11999 или 0.120000, это зависит
Может ли кто-нибудь объяснить мне, почему это происходит и что произойдет, если я попытаюсь разделить эти два числа, будут ли они преобразованы в двойные (или любой другой, более точный тип данных), чтобы я мог получить более высокую точность, или они будут использованы в их текущая форма (float)
Я использовал VS 2010 для проверки этого (если это имеет значение)