Я пытаюсь понять, почему использование '/' с long double следующим образом приводит к значению 0.000000, тогда как тот же код с double не
double d = (double)total_results / (double)total_points;
Дает значение 0,785403, но
long double d = (long double)total_results / (long double)total_points;
Дает значение 0,000000. Я пытаюсь получить наиболее точное значение для 'total_results / total_points'
РЕДАКТИРОВАТЬ: В конце концов, ошибка заключалась в том, что я выводил его, используя «% f» вместо «% Lf»
до
printf("Running on %d thread(s), results is %f.\n", NUM_THREADS, d);
* После 1014 *
printf("Running on %d thread(s), results is %Lf.\n", NUM_THREADS, d);