У меня есть этот код:Получить десятичное значение после деления большого числа
#include <stdio.h>
int main(void)
{
double infre = 11e10;
double c = 2.99795e8;
double wavelength = c/infre;
double delx = 0.600000000e-04;
double nperdt = 2*((int)(wavelength/delx));
double dt = 1.0/infre/(double)nperdt;
printf("%.11f", dt);
return 0;
}
Теперь dt
, как предполагается, очень мало. Так есть ли какая-либо возможность получить эту ценность при делении, поскольку в настоящее время я получаю 0.0
Используйте экспоненциальный формат '% e' или« общий »формат'% g' вместо '% f' при печати результата. –
Также: рекомендуется использовать 'trunc()', а не '(int)' as '(int)' строго ограниченным для 'double()'. – chux