Я пишу программу для расчета отрицательных степеней 2. я использовал следующие два фрагмента кода:функция pow другой выход для cout и printf?
cout.precision(3);
cout << scientific << pow(2.0, p) << endl;
И
ans = pow(2.0, p);
printf("%.3e\n", ans);
Для p = -8271
, то cout
дает правильный ответ (1.517e -2490), но я получаю совсем другой ответ для printf
(6.929e-310). Почему это несоответствие происходит?
Я использую Codeblocks на Ubuntu.
Можем ли мы увидеть объявление переменной для 'ans'? Если это не тип 'double', вы можете передать неправильный тип аргумента' printf'. – templatetypedef