Я пытался рекурсивно добавить некоторые значения CGFloat в мою программу. И я только что понял в одном конкретном сценарии, что общая сумма была неправильной. Чтобы убедиться, что в моей программной логике нет ничего плохого, я создал простой пример этого сценария (см. Ниже), и он напечатал то же неверное значение.
CGFloat arr[3] = {34484000,512085280,143011440};
CGFloat sum = 0.0;
sum = arr[0] + arr[1] + arr[2];
NSLog(@"%f",sum);
int arr1[3] = {34484000,512085280,143011440};
int sum1 = 0.0;
sum1 = arr1[0] + arr1[1] + arr1[2];
NSLog(@"%d",sum1);
Первый NSLog печатает 689580736.000000 ... в то время как правильный результат 689580720. Однако второй NSLog печатает правильный результат. Я не уверен, что это ошибка или я делаю что-то не так.
Спасибо,
Murali